关于keil调试中的一个小问题

我现在用的keil 3,现在在用keil运行仿真时我发现一个问题,就是我在全速运行程序时,显示的时间是不变的,直到我暂停运行,然后仿真时间才变化。还有就是我检测变量值,比如我写了一个程序,一秒钟变量i加一,我在keil的watch widow中监测i的变化,按说全速运行时i的值应该在监测窗口中可以看出来一只变化啊,但是现在还是和我说的仿真时间一样,全速运行时根本不变化,直到我暂停全速运行,值才看出变化,我记得之前用keil仿真的时候监测的这些变量都是实时变化的啊,请高人指点!
我手头有一个硬件仿真器,是基于keil的,通过电脑和硬件仿真器相连,利用keil就可以实现硬件仿真,不过在硬件仿真时全速时还是不能看到参数的变化,和软件的仿真差不多,郁闷了…………我记得当时用keil的时候全速运行是可以实现时间和参数实时监测的

像这样类似的问题在软件仿真中是经常遇到的,有几种可能:

1)你的变量变得过快,产生的溢出
2) 执行的过程中遇到错误,这个不是语法的错误,而是逻辑的错误!
3)软件自身的bug
我建议:用硬件进行仿真,对于实际情况能有正确的反应
然后进行一点一点屏蔽,查找错误
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-08-14
一般情况下,我们仅在单步执行时才对变量的值的变化感
兴趣,全速运行时,变量的值是不变的,只有在程序停下来之
后,才会将这些值最新的变化反映出来,但是,在一些特殊场
合下我们也可能需要在全速运行时观察变量的变化,此时可以
点击View->Periodic Window Updata(周期更新窗口),确认该
项处于被选中状态,即可在全速运行时动态地观察有关值的变
化。但是,选中该项,将会使程序模拟执行的速度变慢。
相似回答