LINUX运行过程中报aborted的问题

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


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值