如何查找SIGABRT的原因

我正在向这个问题展示代码,举例来说,但是我的问题真的是:我该如何追踪和理解SIGABRT错误? 我读了这个问题: sigabrt没有错误信息 ,但我不认为这涉及到我的问题。

我将在下面显示的例子显然不是一个xib问题,以前得到SIGABRT似乎更多的是处理未处理的exception。 我曾尝试使用GDB的bt但这并没有帮助。 有没有更全面的转储来查看? 我也使用NSZombie ,但我真的不明白如何使用它,所以如果这是你的答案,请提供一个链接到我应该如何从中获取相关数据的文档。

这是我的例子:我试图使用核心数据。 我的项目最初并没有设置它,所以我不得不手动添加它,我通过去我的项目>构build阶段>链接二进制与库>点击加号并添加CoreData.framework

然后,通过转到文件>新build>数据模型创build我的数据模型。 我创造了不less属性,就是这样

之后,我将适当的方法添加到应用程序委托(我通过创build一个新的项目与核心数据,然后复制方法):

 //code removed, as its not needed for the question/answer 

在此之后,我只是试图保存一个值到托pipe对象(再次,从一个新的项目从默认实现复制的代码):

 //code removed, as its not needed for the question/answer 

但是,当我执行addTime方法时,我得到的是SIGABRT错误。

xcode错误

当对象收到未实现的消息时,SIGABRT上升。 你的应用程序有多less个警告? 尝试浏览他们,并find警告你“一些对象可能不响应某些select器”,如果你从所有这些清理你的应用程序,你很可能会得到它正常工作。

编辑:从下面的评论回答是非常有帮助的:

好吧,这里是重型火炮 – 你有尝试过使用断点吗? 打开项目浏览器中的第六个选项卡,在左下angular点击+ – >添加exception断点 – >完成。 这将添加一个exception处理程序,将停止您的应用程序的方法调用崩溃的应用程序。

编辑:由于xCode 5.0>您不再需要指定断点正在创build时,您的断点将抓住哪个exception。 你只需要点击+ – >添加exception断点,你很好。

在这里输入图像描述