LINUX运行过程中报aborted的问题

来源:互联网 发布:产品经理数据敏锐度 编辑:程序博客网 时间:2024/05/18 19:21

前段时间在别人的代码基础上添加新的功能,自测的时候出现进程退出(进程退出后会再带起来,所以很难发现),经过仔细测试发现aborted错误。我把自己添加的代码挂起后,再进行测试发现问题还在,说明是别人的代码有问题。这样就增加了排查难度。其实这类错误一般是内存越界访问造成的,一般不会立即出现,往往是在运行一段时间的时候,恰好内存访问到哪里出现。所以报错的时候你可以添加打印缩小范围,例如确定到某个函数就简单许多了。接着你就要重点关注memcpy(),strncpy(),strcpy()函数。还有就是memset()和malloc()等内存操作,这些需要重点关注,一般问题就是出现在这些地方。我遇到的问题就是分配的内存是malloc(strlen(str)),结果在memset的时候却是memset(str,0,strlen(str+1))。以上是我的经验,愿给大家带来帮助。


阅读全文
0 0
原创粉丝点击