打印

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

[复制链接]
7775|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 | 只看该作者
注意生存期...

使用特权

评论回复
5
hithms| | 2013-11-9 21:27 | 只看该作者
假如是某个函数里的局部变量,就应该把断点设置在该函数里,执行到该断点时就可看到局部变量的值了。就是楼上说的生存期。

使用特权

评论回复
6
dirtwillfly| | 2013-11-9 22:45 | 只看该作者
楼上正解

使用特权

评论回复
7
micropower| | 2013-11-9 22:58 | 只看该作者
局部变量要运行到其使能的地方才能查看

使用特权

评论回复
8
黄小俊| | 2013-11-9 23:09 | 只看该作者
原来如此。

使用特权

评论回复
9
linfeng24| | 2013-11-10 01:29 | 只看该作者
如五楼那样,设置断点就好了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

172

主题

827

帖子

5

粉丝