多动态库运行时可能出现的莫名其妙的Segment Fault

前言

公司里需要开发多个动态库链接在一起的程序,然而经常在一些地方出现莫名其妙的Segment Fault问题,事实上原来可以运行的程序段,却在修改了之后莫名其妙的就不能再运行了

解决方案

1.重新编译所有的动态链接库。有时由于文件Z更新了之后,跟Z直接关联的动态库1重新编译了,但在没有直接关联的动态库2没有重新编译,这时很有可能你下意识认为Z跟动态库2不应该有关联,所以没有重新编译动态库2,这时可能就会导致Segment Fault,原因应该是两者对同一个文件的处理方式不同,导致堆栈空间被破坏。

2.检查你的输入选项。有时你认为的应该出问题的地方,可能并不是问题的关键,反而是一些你认为习以为常的地方出了问题,我在实践中就遇到了这种情况,所以我们在Debug时一定要摆脱惯性思维,对每一步都仔细审阅。

3.检查越界的下标。 在程序员的世界里数组往往都是从0开始的,有时候不经意间,比如在下标处理时取了z=point[3],这时可能就会越界。

转载于:https://www.cnblogs.com/yemanxiaozu/p/9151774.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值