在iar 6.40中,如何查看堆栈分配的情况???? 100

目前用的Stellaris®LM3S1R26微控制器,发现有时局部变量会跑飞,怀疑堆栈问题。下面是打印的信息:Linking省略....IARELFLinker... 目前用的Stellaris® LM3S1R26 微控制器,发现有时局部变量会跑飞,怀疑堆栈问题。
下面是打印的信息:

Linking
省略....

IAR ELF Linker V6.40.1.53790/W32 for ARM
Copyright 2007-2012 IAR Systems AB.

83 064 bytes of readonly code memory
50 104 bytes of readonly data memory
16 507 bytes of readwrite data memory

Errors: none
Warnings: none

Link time: 0.14 (CPU) 0.14 (elapsed)

AF_MCU.out
Converting
ielftool.exe --bin --verbose E:\sourcecode\Debug\Exe\AF_MCU.out E:\sourcecode\
Debug\Exe\AFMCU.bin
IAR ELF Tool V9.12.4.70 [BUILT at IAR]
Copyright 2007-2012 IAR Systems AB.
Loading E:\sourcecode\Debug\Exe\AF_MCU.out
Saving binary file to E:\sourcecode\Debug\Exe\AFMCU.bin

Total number of errors: 0
Total number of warnings: 1
展开
 我来答
风若远去何人留
2014-02-20 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450126
专业C/C++软件开发

向TA提问 私信TA
展开全部
局部变量跑飞
根据液败毁我的经验有两种可能,
一种是硬件不稳定 即内存或者CPU读取数据不稳定
导致数据不正常修改 可以做个内存测试排除
另一种是最常见的 内存访问越界 某个其他地方的数据访问侵占了原本属于该变量的内存空间
对于这一点 就得看你的代码了。 如果是某个函数中的局部变量经常跑偏 可以查该函数内部的其他变量访问及该函数调用的函数中的变量访问
如果是不确定的任意函数局部变量都可能跑偏 那么要看你栈分配的内存地址 同时查map 看相邻的内存是归谁管理的,可能是对其相邻内存(一闹备般是之前的)访枯磨问越界造成的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式