打印
[应用相关]

stm32 debug常见问题: <cannot evaluate>

[复制链接]
2586|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tpgf|  楼主 | 2024-3-25 17:10 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
STM, ST, CAN, BUG, AN
我们才使用keil ide仿真功能时,想参看某个参数的实时变化,经常会遇到这样的一个问题:



具体怎么解决呢?主要有以下三种方法:

1.将局部变量修改为全局变量
将局部变量修改为全局变量,再加入监视窗口,不要忘了把 periodic window update勾选上,这样监视器会实时更新参数变化。如果还不行,请继续下面的方法。



2.使用 volatile修饰全局变量
出现这个问题的原因可能是编译器把变量优化掉了,使用volatile关键字修饰变量,可以避免编译器把变量优化掉。

3.降低keil优化等级



等级越低,优化越低,在debug的时候可以选择Level 0进行调试。
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/CJY1052925538/article/details/136284703

使用特权

评论回复
沙发
chenqianqian| | 2024-3-25 21:22 | 只看该作者
很少看这个变量监控窗口

使用特权

评论回复
板凳
朝生| | 2024-3-26 22:03 | 只看该作者
是的,这是打开实时监控数据的方法。

使用特权

评论回复
地板
鹿鼎计| | 2024-3-26 22:26 | 只看该作者
局部变量也想看的话,需要设置static属性。

使用特权

评论回复
5
理想阳| | 2024-3-26 22:51 | 只看该作者
为啥优化会决定参数是否可以实时查看?

使用特权

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

本版积分规则

1959

主题

15697

帖子

12

粉丝