MyException - 我的异常网
当前位置:我的异常网» 单片机 » 一个非常奇怪非常奇怪非常奇怪的堆栈溢出的有关问题

一个非常奇怪非常奇怪非常奇怪的堆栈溢出的有关问题~来吧~

www.MyException.Cn  网友分享于:2013-06-04  浏览:18次
一个非常奇怪非常奇怪非常奇怪的堆栈溢出的问题~高手进来吧~!!!
现象:
1、刚把程序载进去,还没运行,堆栈就快满了

刚刚把程序下载进去,还没有运行,就提示堆栈快溢出了:Wed Apr 25 16:12:28 2012: The stack 'Stack' is filled to 99% (4992 bytes used out of 5000). The warning threshold is set to 90.%  


我尝试过:把栈设成2048,3000,4000,5000 均无济于事。 如果是数组越界或者中断造成的问题,那么应该是运行之后产生的,而不应该是下载进去就产生。

2、程序运行起来后,堆栈使用量有变回正常状态。

程序运行起来后,堆栈使用量有变回正常状态,那开始的中断溢出是什么情况??


3、删除掉主函数中的某些函数或者把在main之前的某些注释掉的函数回复,可以消除下载堆栈溢出的症状,但是运行到某些函数(固定的)内的时候,还是会出现堆栈溢出警告。


4、如果运行中出现堆栈溢出警告的话,没执行一步,堆栈内的数据一直都有变化,变化区域非常的大,而且数据均为 3f ff 等数据 3f ff 出现概率最大 最多几乎全是。

5、堆栈设成4000或者5000的时候,刚下载进去就报堆栈要快溢出,占堆栈的98%/99%.但是诡异的是,我把堆栈设成2048的时候,一下载进去报警堆栈要溢出,但是所占的却是90% or 93% 比4000和5000还少. 异或不解。非常诡异 把堆栈设成1000 ,竟然没事了,下载和运行都不会出现堆栈溢出警告。更加不理解了 

6、删掉sprintf()函数后,下载和运行都没有出现堆栈溢出警告。
但是sprintf()我以前的版本也有用到,没有出现过这个问题。

高手出招灭到它吧!!!!!!!!!!

图片:
一:刚再进去就警报堆栈溢出


二、在外面删掉一些函数(或者删掉程序中的一些定义了但是没有用到的代码),消除刚下载就报警堆栈溢出后,运行到一个函数内时,又出现了堆栈溢出:


三、然后程序没有飞,我单步执行,然后看到RAM内的数据一直在变化,大块大块的变,且很多都是重复的 3f ff……






------解决方案--------------------
您看一下SPRINTF的声明,是不是可重入的?

如果你在中断,和主程序中,存在同时调用的话。那是可能会出问题


我这边IAR平台上,也用sprintf也没见出过问题哈
------解决方案--------------------
sprintf用的时候没发现过有这种情况的

WDT_ARST_1000的值是多少

。。

有没有使用流对象

在读取流对象的数据的时,会自动把字符FF3F加到数据开头的

文章评论

做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
如何成为一名黑客
如何成为一名黑客
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
我的丈夫是个程序员
我的丈夫是个程序员
为什么程序员都是夜猫子
为什么程序员都是夜猫子
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
漫画:程序员的工作
漫画:程序员的工作
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
旅行,写作,编程
旅行,写作,编程
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
10个调试和排错的小建议
10个调试和排错的小建议
鲜为人知的编程真相
鲜为人知的编程真相
程序员应该关注的一些事儿
程序员应该关注的一些事儿
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
程序员和编码员之间的区别
程序员和编码员之间的区别
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
那些争议最大的编程观点
那些争议最大的编程观点
Java程序员必看电影
Java程序员必看电影
程序员的鄙视链
程序员的鄙视链
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
编程语言是女人
编程语言是女人
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
老程序员的下场
老程序员的下场
程序员都该阅读的书
程序员都该阅读的书
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
 程序员的样子
程序员的样子
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
中美印日四国程序员比较
中美印日四国程序员比较
总结2014中国互联网十大段子
总结2014中国互联网十大段子
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有