Objective c 如何找到SIGABRT的原因
例如,我向大家展示了这个问题的代码,但实际上我的问题是:我应该如何追踪和理解SIGABRT错误?我读到这个问题:,但我认为这与我的问题无关 我将在下面展示的示例显然不是xib问题,之前获取SIGABRT的时间似乎更多地与未处理的异常有关。我尝试过使用GDB的Objective c 如何找到SIGABRT的原因,objective-c,cocoa-touch,crash,sigabrt,Objective C,Cocoa Touch,Crash,Sigabrt,例如,我向大家展示了这个问题的代码,但实际上我的问题是:我应该如何追踪和理解SIGABRT错误?我读到这个问题:,但我认为这与我的问题无关 我将在下面展示的示例显然不是xib问题,之前获取SIGABRT的时间似乎更多地与未处理的异常有关。我尝试过使用GDB的bt,但这没有帮助。是否有更全面的转储文件可供查看?我也使用过NSZombie,但我真的不知道如何使用它,所以如果这是您的答案,请提供一个指向文档的链接,说明我应该如何从中获取相关数据 下面是我的例子:我试图使用核心数据。我的项目最初不是用它
bt
,但这没有帮助。是否有更全面的转储文件可供查看?我也使用过NSZombie
,但我真的不知道如何使用它,所以如果这是您的答案,请提供一个指向文档的链接,说明我应该如何从中获取相关数据
下面是我的例子:我试图使用核心数据。我的项目最初不是用它设置的,所以我不得不手动添加它,我通过进入我的项目>构建阶段>将二进制文件链接到库>单击加号并添加CoreData.framework来添加它
然后我通过进入文件>新建>数据模型创建了我的数据模型。我创建了很多属性,仅此而已
之后,我向app委托添加了适当的方法(我通过创建一个包含核心数据的新项目,然后复制这些方法来实现这一点):
在此之后,我只是尝试将一个值保存到托管对象(再一次,使用新项目从默认实现复制代码):
但是当我执行addTime
方法时,我得到的只是SIGABRT错误
当对象收到未实现的消息时,SIGABRT上升。你的应用程序有多少个警告?尝试浏览它们,找到那些警告你“某些对象可能对某些选择器没有响应”的,如果你从所有这些中清除你的应用程序,你很可能会让它正常工作 编辑:回答下面的评论,这些评论非常有用: 好了,重炮来了-你试过使用断点吗?打开 项目资源管理器中的第六个选项卡,在左下角点击 +->添加异常断点->完成。这将添加一个异常处理程序,在崩溃的方法调用上停止应用程序 应用程序 编辑:从xCode 5.0>开始,您不再需要指定在创建断点时断点将捕获的异常。您只需点击+->添加异常断点即可
由于之前帖子上的另一条评论,我重新阅读了这篇文章。我可以理解,如果它不可读,但是你对哪一部分有特别的问题。对不起,乔希,我会做一些改变(英语从来不是我的强项)我当然不想因为任何人不理解这个问题而拒绝回答。但是如果这只是强迫症的事情,那么“为什么我”lol你已经做了。非常感谢。就像我说的,我在发帖后重新阅读了这篇文章,希望我不会再看到这篇评论。我从不把东西写好。我从来没有这样的需要,所以这对我来说是一个很难改掉的习惯,但在将来我会尝试。我总共有4个(3个用于未使用的对象,第三个用于不兼容的指针类型。没有一个表示上面使用的任何类)
//code removed, as its not needed for the question/answer
//code removed, as its not needed for the question/answer