主题 : ucosii 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 84711
精华: 0
发帖: 1
金钱: 5 两
威望: 1 点
贡献值: 0 点
综合积分: 2 分
注册时间: 2012-12-25
最后登录: 2013-03-06
楼主  发表于: 2013-03-05 16:37

 ucosii

我建了两个任务都是基于udp的,都需要接收和发送数据包,处理数据包,而且都要求是可重入的。
因此我在一开始就给两个任务,假设为a和b,用calloc分配了内存空间,刚开始运行没有问题,但是过上一段时间就会进入异常。
经检查发现,每次都会卡在任务b的一个固定的地方,这个地方就是接收完数据包后刚开始对包进行解析时。
现在不知道原因在哪里,希望有高手指点迷津。
补充两点:
(1)应该不是堆栈大小设置的问题,因为我用堆栈检查函数发线都没有越界;
(2)也不太可能是内存耗尽的问题,因为一开始就分配了内存,并且不回收,所以不存在动态分配并回收产生内存碎片导致内存耗尽的问题。