使用Keil uVision4 过程中遇到的问题,求解答

[复制链接]
7567|6
 楼主| liuyi_19810909 发表于 2012-4-25 17:04 | 显示全部楼层 |阅读模式


1.KeilDebug时局部变量在优化等级为2时无法从watch windows窗口中监视,尽管该变量已被应用,但是在不优化的情况下可以看到。

2.Keil环境中复位后如果不在main函数的开头置断点,则即使“单步”一运行,也会全速跑起来。为啥?





       3.Keil有提供一个叫“Micro LIB”的库,这个库的代码很精简,但是我在网上查的是该库都是以.c文件为基础编译的,里面难免有我们用不到的,所以我想拿到这个库的源代码,然后我们自己选择需要的生成一个库。




4.simulator模式下全速运行和step overF10)都会会变成单步执行,为啥?

airwill 发表于 2012-4-26 09:05 | 显示全部楼层
1.Keil中Debug时局部变量在优化等级为2时无法从watch windows窗口中监视,尽管该变量已被应用,但是在不优化的情况下可以看到。

这是因为代码优化以后, 已经打乱了执行顺序. 调试器对源代码定位也没有完全合适的位置. 可能指示已经到了变量的作用域, 但事实上变量却还没有有效. 属于正常情况.习惯就好了
 楼主| liuyi_19810909 发表于 2012-4-26 09:26 | 显示全部楼层
谢谢 airwill 的解释,这样的话感觉Keil做的不到家。
xlsbz 发表于 2012-4-27 12:40 | 显示全部楼层
3# liuyi_19810909
你理解的不到家
 楼主| liuyi_19810909 发表于 2012-4-28 09:37 | 显示全部楼层
可是整个函数运行过程中我始终看不到该局部变量啊,而且我是定义在main函数中的,不会一直判断不出变量的作用域吧,难道我说keil做的不到家不对吗?
5141314 发表于 2014-4-29 16:31 | 显示全部楼层
keil版本的问题,换个版本吧
TT5656 发表于 2014-4-29 17:24 | 显示全部楼层
liuyi_19810909 发表于 2012-4-28 09:37
可是整个函数运行过程中我始终看不到该局部变量啊,而且我是定义在main函数中的,不会一直判断不出变量的作 ...

Level 2 (-O2): High optimization (default level). The debug view might be less satisfactory because the mapping of object code to source code is not always clear.
Keil帮助文档里面写的很清楚了。用优化的话一般是程序编好无误的情况下用,调试的话还是不要优化的好。别的调试工具怎么样我不清楚,不过显然楼主的功力也未到家呀。。。起码人家软件里的帮助文档都解释出来了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

14

帖子

0

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