关于Xcode中"signal SIGABRT"调试崩溃的问题

今天用xcode编写c++程序的时候,蹦出来了个“signal SIGABRT”。其实以前也老是出现相似问题。

具体情况是出现在某行或者类的定义中

class node{ //signal SIGABRT
    XXXXXXXXX;
    XXXXXXXXX;
};

此类问题大多是之前定义了一个“非释放类型”的对象,后面却又将其释放,因此计算机找不到可释放的对象。
//例如:
node *p;
xxxxxxxx;
xxxxxxxx;
xxxxxxxx;
delete p;

这样就会报错,需要注意的是,此种报错是概率性的,有时不会出现,但是出现的危害会很大。我程序不出现报错的时候内存占用情况是每秒好几百兆,很快就几个G了,当内存占用满,你只能强制关机了,有可能以前的代码丢失,很糟糕。


上述代码可以改成:

node *p = new node;
xxxxxxxxx;
xxxxxxxxx;
xxxxxxxxx;
delete p;

这样就不会出现错误了。



  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
引用\[1\]: 当你在main函数的那一行收到SIGABRT信号时,意味着你的程序抛出了一个异常。堆栈跟踪显示了异常被捕获的位置,而不是抛出的位置。通常这对于调试问题没有帮助。为了调试问题,你可以做两件事情:\[1\] 引用\[2\]: 你可以在这里找到更多关于这个问题的信息:http://stackoverflow.com/questions/9782621/i-have-an-error-in-main-m-thread-1-signal-sigabrt-how-can-i-fix-this \[2\] 回答: 当你在Xcode看到"Thread 1: signal SIGABRT"的错误信息时,这意味着你的程序抛出了一个异常。这个错误通常与identity的问题有关,可能是因为你在storyboard定义了错误的identity或者在代码引用了错误的identity。你可以通过查看Xcode的报错信息来找到具体的问题所在。\[1\]如果你需要更多关于这个问题的帮助,你可以参考上面提供的链接。\[2\] #### 引用[.reference_title] - *1* *2* [SIGABRT错误的调试办法](https://blog.csdn.net/tarig/article/details/8138278)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [swift页面跳转两种方式,以及error:thread 1:signal sigabrt报错原因](https://blog.csdn.net/qq_33399371/article/details/74907187)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值