打印

程序运行了几个小时,但是突然死了,连中断都进不去

[复制链接]
1657|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ma1986|  楼主 | 2009-10-20 13:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序运行了几个小时,但是突然死了,连中断都进不去。。
我通过网络发送同一个命令,在接受中断中保存命令,然后用程序查询的方式查询保存的命令。
但是有时候一个命令完整的执行完成后,向pc发送一个数据,并且pc返回了一个ack应答。然后程序就突然死了。连网络中断、与另外一个外部中断都进不去。我在中断里面输出串口调试信息的。

相关帖子

沙发
阿南| | 2009-10-21 00:28 | 只看该作者
程序飞了,应该中断还是会产生,但是已经找不到对应的中断服务程序

使用特权

评论回复
板凳
ma1986|  楼主 | 2009-10-21 08:43 | 只看该作者
2# 阿南
但是之前的中断都是很正常的进出啊。。这可能是什么原因呢???

使用特权

评论回复
地板
zchong| | 2009-10-22 20:57 | 只看该作者
难道堆栈溢出了?

使用特权

评论回复
5
ma1986|  楼主 | 2009-10-27 10:15 | 只看该作者
4# zchong
我们一般裸奔的程序运行在svc模式下,我调用函数的过程中,每个函数的局部变量都会加入到该模式的堆栈中吗???比如我在某函数内int a[50];然后在该函数中再调用其他函数的时候,压栈,会将a[50]压到栈里吗???我函数调用层数大概有10多层。。。为出问题吗???他执行同一个动作,做了上千次之后,有时候就会突然死掉了。。。
而且,有时候在死机的时候,串口会输出一个乱码。

使用特权

评论回复
6
zchong| | 2009-10-27 14:16 | 只看该作者
进入函数就会为a[50]分配堆栈

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

48

主题

101

帖子

1

粉丝