day5: stm32 debug常见问题: <cannot evaluate>

本文介绍了在使用KeilIDE时,如何通过将局部变量改为全局变量并启用监视窗口、使用volatile关键字防止编译器优化以及降低优化等级来实现实时查看参数变化的三种解决策略。
摘要由CSDN通过智能技术生成

我们才使用keil ide仿真功能时,想参看某个参数的实时变化,经常会遇到这样的一个问题:

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

1.将局部变量修改为全局变量

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

2.使用 volatile修饰全局变量

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

3.降低keil优化等级

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值