打印
[开发工具]

IAR调试查看变量问题

[复制链接]
6138|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jtingwang|  楼主 | 2008-5-21 19:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
不知道有没有人遇到过如下问题:

版本:IAR 4.41A

使用操作系统,在某个任务中,定义一个局部变量,程序中对其赋值,并在赋值语句后设置断点,通过watch窗口看到该局部变量没有被正确赋值(里面是随机值),但是程序全速运行起来,其执行结果和预期的结果相同,没有什么异常。通过printf语句将该变量值打印出来,和预期的结果也相同,就是断点停下来后,通过watch窗口看时,看到的值不对。

若不使用操作系统,通过watch看到的变量值又是对的!
沙发
香水城| | 2008-5-21 21:37 | 只看该作者

什么芯片?什么操作系统?

其实这种现象不奇怪,一般局部变量被分配到堆栈区,而在OS环境下堆栈指针时经常会变的,调试软件却不知道这种变化,所以造成楼主的现象。

使用特权

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

本版积分规则

67

主题

171

帖子

1

粉丝