2019-03-24 11:56发布
sjtitr 发表于 2014-1-7 22:12 问题一的解答参见沙发,这种提示只出现在:1.没有使用的局部变量,2.没有使用的静态全局变量。注意,给它赋 ...
zzbaizhi 发表于 2014-1-9 09:27 大侠,我就是在子函数里设的断点,准确的说,是在给Time赋值后设置的断点,可还是看不到Time的值
最多设置5个标签!
问题二,调试器告诉你无法获得它的值,是因为当它是一个局部变量时,它只有在它所在的函数运行期间才有意义,所以只有在程序运行暂停在那个函数中,你才能看到这个家伙的值;当然这也不是绝对的,在某些环境,如果在所在的函数里暂停,可是对于该变量的操作已经结束了,本函数后面的运行不再操作该变量了,有时候有些环境也会“聪明”滴提前扔掉该变量。总之,就是你当前的位置上,该变量无意义的意思。这种“无意义”不是逻辑上的无意义,物理上来说这个变量也真的不存在于内存了。
大侠,我就是在子函数里设的断点,准确的说,是在给Time赋值后设置的断点,可还是看不到Time的值
这个问题其实比较复杂,往往因为编译器和调试器太聪明了,导致我们经常跟踪不到变量的值。如果你有用过某些日产的开发环境,可能你还会发现给你一个变量赋了值,可是观察窗口里看它还是没有变化……这只是代表它不能正确追踪到变量的值,不代表赋值不成功。
简单的处理,建议你尝试使用全局变量而不是局部变量,而这样做只是为了调试时能看到它的值,要知道实际上使用局部还是全局,运行结果通常是没有什么不一样的,如果还有问题,可以继续提问。
一周热门 更多>