Keil中调试时Watch窗口变量不实时显示为何故?

[复制链接]
 楼主| whlcsu 发表于 2012-2-29 20:55 | 显示全部楼层 |阅读模式
请教各位大侠,在Keil+JLink V7中使用Debug调试时,为何watch窗口中的变量有时候能随着程序的运行变化,有时候却不变化呢,但在不变时若双击这个变量再在空白处单击,它的值又会改变!
无标题.png

我理解应该是Keil通过Jlink读取芯片中的变量值,故通信速率的限制,watch窗口不可能真正做到“实时”显示,但对于调试还是具有一定的指导意义的。

也请教香主,此为何故?
 楼主| whlcsu 发表于 2012-2-29 21:15 | 显示全部楼层
1# whlcsu

求教啊。。。
yfl9053 发表于 2012-2-29 22:38 | 显示全部楼层
我也正有此疑问。。。不知香主在否
香水城 发表于 2012-3-1 10:03 | 显示全部楼层
没有研究过这个问题,你可以问问KEIL的人。
tmark 发表于 2012-3-1 10:13 | 显示全部楼层
学习
 楼主| whlcsu 发表于 2012-3-1 10:41 | 显示全部楼层
迷津仍待指点。。。
yfl9053 发表于 2012-3-1 12:18 | 显示全部楼层
应该是你设置没设置好
NSSH_1989 发表于 2012-3-2 16:29 | 显示全部楼层
调试状态下,勾上View->Periodic Window Update

评论

感谢,层主  发表于 2018-2-6 11:53

评分

参与人数 4威望 +6 收起 理由
zhangyada + 1 很给力!
iic_ho + 1 很给力!
960944837 + 1 赞一个!
wlz966 + 3 赞一个!

查看全部评分

lkgsky 发表于 2013-12-18 09:22 | 显示全部楼层
感谢8楼,问题解决了
煮酒fu 发表于 2013-12-31 15:47 | 显示全部楼层
我还没解决呢?请问keil里面到底能看全局变量的实时值吗?  IAR我知道可以,这个到底行不行呢?请赐教?如果行,请问是怎么看的?
戈卫东 发表于 2013-12-31 18:36 | 显示全部楼层
你是指全速运行中,还是指停下来的时候?
id472897568 发表于 2014-3-6 10:39 | 显示全部楼层
戈卫东 发表于 2013-12-31 18:36
你是指全速运行中,还是指停下来的时候?

全速运行一段时间后停下来,watch窗口的变量值不发生变化,但是用串口将变量发到电脑上,标量值是改变了的啊?这是怎么一回事啊?
一清如水 发表于 2014-3-6 12:42 | 显示全部楼层
全局变量或者静态变量才能一直观察,不然不会变量一直有效的
just_so_so 发表于 2014-11-12 20:53 | 显示全部楼层
8楼正解
huangfeng33 发表于 2014-11-26 10:34 | 显示全部楼层
如果在WATCH窗口看内部变量,会是错误的。一定会误导你的!
shappy 发表于 2016-5-23 15:58 | 显示全部楼层

8楼正解,非常感谢!
风动影动 发表于 2016-7-26 10:28 | 显示全部楼层
NSSH_1989 发表于 2012-3-2 16:29
调试状态下,勾上View->Periodic Window Update

charrijon 发表于 2016-7-26 17:34 | 显示全部楼层
想想看,局部变量是在堆栈中的,一直在压入弹出,局部变量的地址都搞不清楚,只有全局变量这种有固定地址的,才能用软探针观察到。
hitaowei 发表于 2017-6-1 11:05 | 显示全部楼层
感谢8楼,开始我以为是我的程序出了问题,导致watch中的变量不显示正确的值,后来我在memory窗口,去查看变量的值,又发现这个值是在不断改变的,说明程序没问题,果然,看到8楼的答案,设置一下,问题立马解决了,谢谢
chen468859 发表于 2018-1-5 16:05 | 显示全部楼层
NSSH_1989 发表于 2012-3-2 16:29
调试状态下,勾上View->Periodic Window Update

此方法可行,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

59

帖子

0

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