10373|12

79

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

各位高手怎么查看局部变量的值吗? [复制链接]

在IAR中..经常停在一个函数内部.
可它的局部变量和形参不论是拉到Watch中还是直接点出Locals.
状态都是unavailable

但有时候又能够看到值.. 我就很郁闷了..

今天反复试验了一下..发现当使用None优化等级时就可以看到各个局部变量的值.而采用Medium优化则不能看~既前面说的unavailable.

我开始想是不是局部变量被优化了.. 但一查反汇编..发现两者没什么区别.
一个简单的传递2个参数的函数调用..同样是把实参复制给了R1,R0(符合ATPCS).

可为啥Medium就是看不到呢..因为我写代码一般用Medium..相比None能节约40%的Flash空间..

:)
此帖出自stm32/stm8论坛

最新回复

                                 To:netjob您用的优化是什么级别的??..我明天再试一下.. 应该不是被用做其他用途了..刚跳进函数可执行语句第1句好像都看不到..我明天做个验证再说..把图拿上来..   详情 回复 发表于 2008-9-26 20:58
点赞 关注
 

回复
举报

72

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

那个变量已经过时了吧,所以看不到了……

                                  
此帖出自stm32/stm8论坛
 
 

回复

62

帖子

0

TA的资源

一粒金砂(中级)

板凳
 

很可能是这个变量的内容没有被存到RAM中,只保存在寄存器

                                 调试窗口中只能看到保存到存储器中的变量值。
此帖出自stm32/stm8论坛
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

4
 

不会吧?保存在寄存器中的应该也能看到的哦…只要这个变

例如两个局部变量,一个先用,另一个后用,那么两者可能会被分配在同一个寄存器中哦……
这样当程序运行到后一个变量处时,前一个变量就失效了,那么当然也就显示不出来了……
此帖出自stm32/stm8论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

5
 

IAR就是不太有好

要刷新,要不然会不行的,而且要在当前的函数断点看!

IAR IAR就是不太有好
例如数组,它不让拷贝,这不好!
此帖出自stm32/stm8论坛
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

6
 

VC++

                                 可以拷贝就很方便啊!
此帖出自stm32/stm8论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

7
 

IAR 不可以拷贝 数组内容!

                                 在文本下看字符串。
此帖出自stm32/stm8论坛
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

8
 

嘿嘿,标准C就是不允许构造类型的变量参与整体赋值

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

9
 

re

晕..
搞了半天..还是没人回答..后面怎么都跑题了..

保存在寄存器的值在None优化下是可以看到的.. 在Locals窗口中都只能指名该变量是由哪一个寄存器(例如R0)保存..
只要一用Medium就不行了..

00讲的变量过时也不对..一个局部变量在创建他的函数体内是有生命周期的..

此帖出自stm32/stm8论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

10
 

噢!真TMD的见XX了!

偶的怎么就可以呢!?
嘿嘿!
此帖出自stm32/stm8论坛
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

11
 

优化的原因

                                 某些变量在优化的条件下,使用完后就用作其他用途了,所以使用完后就看不到了
此帖出自stm32/stm8论坛
 
 
 

回复

87

帖子

0

TA的资源

一粒金砂(初级)

12
 

oo说的对的好不!

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

57

帖子

0

TA的资源

一粒金砂(初级)

13
 

Re

To:netjob
您用的优化是什么级别的??..


我明天再试一下.. 应该不是被用做其他用途了..
刚跳进函数可执行语句第1句好像都看不到..我明天做个验证再说..
把图拿上来..
此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表