关于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
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值