启用所有异常断点后,始终在App委托中停止

时间:2015-04-06 13:38:45

标签: ios objective-c xcode swift

当我启用所有异常断点时,我的应用程序总是在AppDelegate中停止,但我能够继续执行程序,但它非常烦人的原因总是把我带到appdelegate。有什么想法吗?

enter image description here

3 个答案:

答案 0 :(得分:68)

仅启用Objective-C断点。

要查看导致错误的实际语句,请添加异常断点:

  1. 从主菜单调试:断点:创建异常断点。

  2. 右键单击断点并将异常设置为Objective-C。这将忽略其他类型的异常,例如来自C ++。有部分API使用例如Core Data(Apple是 Special )等异常。

  3. 添加动作:" po $ arg1"。

  4. 运行应用程序以获取断点,您将位于导致异常的行,并且错误消息将位于调试器控制台中。

    Breakpoint example:

答案 1 :(得分:10)

如果您正在使用Swift,或者您希望捕获所有异常,则可以在评估操作后将“所有例外”上的选项更改为自动继续。只需在Breakpoint Navigator中找到它并右键/ ctrl单击所有Exceptions Breakpoint进行编辑: enter image description here

然后选中选项框: enter image description here

答案 2 :(得分:4)

C ++代码中的例外常见和正常。异常断点即使正确处理它们也会捕获每个引发的异常。所以,如果你没有指定Obj-C,你会发现执行在许多看似随机的地方停止。我特意与AVAudioPlayer一起遇到这个问题。

需要注意的另一件事是缺少资产。我从另一位似乎也遇到同样问题的提问者那里得到了这个问题。

Xcode throws an exception in Main() in iOS 8 with 'all exceptions' breakpoint