记一次Linux C++ Segmentation fault处理

本文探讨了一种引发段错误的常见原因:函数忘记返回值。通过实例分析,揭示了即使未使用返回值,也可能因编译器预期而触发错误。强调了编译器警告的重要性及调试技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

段错误有可能是重复free指针或者操作野指针,今天遇到了一个段错误bug,是由于某函数声明了返回值(应该返回一个shared_ptr),但是函数实现忘记return导致的,虽然使用这个函数时没有用到它的返回值,但是依然报错,gdb调试指向一个new语句,牛头不对马嘴,注释掉new语句后traceback指向下一个使用new的地方,所以当项目代码比较多时,调试不一定能找出来问题!段错误如果找不到原因可以看看函数是否忘记写返回值了,平时也要留意编译器的warning。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值