概括

设置异常断点时,没有得到异常消息。如何获得异常消息?我已经知道如何获取堆栈跟踪,但是其中不包括异常消息。

细节

过去,我使用Xcode开发iOS应用程序,出现问题时,我会得到一个错误/异常。该异常通常会显示诸如“无法取消引用null”之类的消息。

现在,过去几周使用Xcode 4.6.x,我从未收到异常消息。我经常会收到SIGABRT。我在异常断点处插入了中断,它将在此处中断,但在iOS SDK的某些程序集中已关闭,并且从未收到任何消息。

实际上,我不记得上次在调试器控制台中看到任何内容的时候。

迁移到LLVM后,异常信息消失了吗?

让我的应用程序在不知道为什么的情况下在SDK中崩溃是非常令人沮丧的。我检查最后一个函数以确保正确设置(分配了对象等),并且它们正确无误。

过去保留的构 build 置是否可能以某种方式关闭了异常消息?

请重新提问。现在有答案了!

在评论中,给出了一个很好的答案。应该将其提升为完整答案,这样我就可以标记已回答的问题,其他遇到此常见问题的人也可以找到它。为了做到这一点,需要重新提出问题! (在发生这种情况后,我将删除此请求。)

最佳答案

我将在这里更新杰夫的答案:



这似乎在Xcode 9中仍然有效

这是我在Xcode 6及以下版本中使用的附加功能。

  • 输入: po(NSException *)$ eax

  • 在Xcode 6中,您必须显式提供对象类型,因为它不再被推断。

    10-08 05:51
    查看更多