Qt调试错误:The inferior stopped because it received a signal from the Operating System.SIGSEGV

本文探讨了在软件调试中遇到的SIGSEGV信号,着重于Segmentation Fault错误,分析了可能的原因如指针误用、数组越界等,并提供了清理项目、重新编译和重启机器等解决策略。同时,对比了SIGSEGV与SIGBUS的区别,以及它们在内存访问错误中的表现。

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

现象: 调试时弹窗:
Signal received
The inferior stopped because it received a signal from the Operating System.
Signal name : SIGSEGV
Signal meaning : Segmentation fault
底层停止因为从操作系统接收到了一个信号
信号名:
分析:
可能的原因:
1、定义了指针,没有new直接调用。
2、定义的指针通过函数赋值不成功,然后没有判断就直接使用。
3、数组下标越界。
4、删除了已经释放的指针。比如说new的控件指定了父窗口会自动释放,如果手动释放就会引起重复释放错误。
其它解决方法:清理项目,重新编译。
重启机器
备忘:
SIGSEGV信号: Segment Fault. The possible cases of your encountering this error are: 1.buffer overflow :usually caused by a pointer reference out of range. 2.stack overflow :please keep in mind that the default stack size is 8192K. 3.illegal file access :file operations are forbidden on our judge system.
SIGBUS与SIGSEGV信号的一般区别如下:1.SIGBUS(Bus error)意味着指针所对应的地址是有效地址,但总线不能正常使用该指针。通常是未对齐的数据访问所致。2.SIGSEGV(Segment fault)意味着指针所对应的地址是无效地址,没有物理内存对应该地址。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码猿杂谈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值