Keil下为什么不能在watch里查看临时变量的数值?

[复制链接]
8395|8
 楼主| gaobq 发表于 2013-11-9 20:25 | 显示全部楼层 |阅读模式
在keil 5.0和4.72下调试程序,全局变量的数值能够实时查看,就是局部变量,在watch里面显示不了,不在范围内,以前挺正常的,请问各位高手,有解决方法没有,当然了都用全局变量就没有意义了。以前记得挺好的,鼠标放上去就能显示当前值,不知道从哪个版本开始不正常了,step by step时非常不方便。
lllaaa 发表于 2013-11-9 20:47 | 显示全部楼层
很简单啊。被优化掉了。全在寄存器里,没有在栈里面。所以调试信息无法描述了。自然调试器也无法watch。想看就关掉优化。
 楼主| gaobq 发表于 2013-11-9 20:53 | 显示全部楼层
我好像试过去掉优化,似乎没解决问题,我明天再试一下,确定是否如此
戈卫东 发表于 2013-11-9 21:20 | 显示全部楼层
注意生存期...
hithms 发表于 2013-11-9 21:27 | 显示全部楼层
假如是某个函数里的局部变量,就应该把断点设置在该函数里,执行到该断点时就可看到局部变量的值了。就是楼上说的生存期。
dirtwillfly 发表于 2013-11-9 22:45 来自手机 | 显示全部楼层
楼上正解
micropower 发表于 2013-11-9 22:58 | 显示全部楼层
局部变量要运行到其使能的地方才能查看
黄小俊 发表于 2013-11-9 23:09 | 显示全部楼层
原来如此。
linfeng24 发表于 2013-11-10 01:29 | 显示全部楼层
如五楼那样,设置断点就好了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

172

主题

831

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部