8

我有一个为 iOS 7 构建的项目,到目前为止它运行良好,但是在 Git 合并后,某些设置或某些东西被破坏,异常不再输出到控制台。因此,“由于未捕获的异常而终止应用程序”错误消息永远不会显示在控制台中。我在设备和模拟器上都试过这个项目,同样的事情。我找不到原因以及如何解决它,我谦卑地寻求您的帮助。

事实:

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

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

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

我还可以做些什么?谢谢您的帮助!

4

1 回答 1

5

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

我做了一些狩猎,并遇到了这个链接:

使用 LLDB 调查 NSExceptions

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

脚步:

添加异常断点

编辑刚刚添加的断点

向 <code>po $eax</code> 添加一个动作,并检查

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

于 2014-01-04T06:20:32.040 回答