Xcode 5不打印异常细节

时间:2013-10-15 08:54:55

标签: ios objective-c xcode xcode5

我有一个针对iOS 7构建的项目,到目前为止它运行良好,但在Git合并后,某些设置或某些内容已损坏,异常不再输出到控制台。因此,控制台中永远不会显示“因未捕获的异常而终止应用程序”错误消息。我在设备和模拟器上都尝试过这个项目,同样的事情。我找不到这个原因以及如何修复它,我谦虚地请求你的帮助。

事实:

  • 调试器正在运行,
  • 调试器停止并突出显示正确的行
  • 所有例外断点都处于活动状态,
  • NSLog命令正在运行,
  • lldb中的
  • po命令正在运行。

在寻求帮助之前我曾尝试过什么?

  • 清理(包括构建文件夹)和重建项目,
  • 重新启动Xcode,
  • 重启OS X,
  • 重新连接设备,
  • 重启设备。

我还能做什么?谢谢你的帮助!

1 个答案:

答案 0 :(得分:5)

我在尝试调试autolayout崩溃时遇到了这个问题。不确定这是否适用于所有情况,但这是我的解决方案:

我做了一些狩猎,发现了这个链接:

Investigating NSExceptions with LLDB

这导致我乱用异常断点来试图找出问题所在。在我的情况下,我总能找到$eax上的描述,所以我决定在断点处添加一个动作,所以我不必每次都调试它。这导致它总是在没有断点的情况下打印$eax,所以它几乎就像我想要的那样(打印异常描述,继续崩溃)。

步骤:

Add an Exception Breakpoint

Edit the breakpoint you just added

Add an action to <code>po $eax</code>, and check "automatically continue after evaluating"

解决了我目前遇到的问题,我确信此解决方案(po $ebxpo [NSThread callStackSymbols]等)的变体应该可以解决大多数缺少异常描述的问题。