ios - 我如何知道哪一行代码导致我的 iOS 应用程序在 Xcode 9 中崩溃

标签 ios swift debugging sigabrt nsexception

我正在 Xcode 9 (Swift 4) 中构建一个应用程序,它甚至在完全加载之前就崩溃了。我收到一个错误:Thread 1: Signal SIGABRTlibc++abi.dylib: terminating with uncaught exception of type NSException。使用断点和调试如何知道是哪一行代码导致了错误?任何帮助,将不胜感激。谢谢! (这里也是截图)enter image description here

最佳答案

这里你需要的是一个异常断点。异常断点是一种特殊的断点,只要发生异常就会中断,而不是每次都在特定文件的特定行上中断。断点所在的行就是抛出异常的行。要设置异常断点,您需要打开断点导航器并按左下方的 + 按钮

Xcode breakpoint navigator

会弹出一个小菜单,从中选择Exception Breakpoint...

Exception Breakpoint option

之后可能会弹出第三个菜单,但您只需单击它以外的任何地方即可将其关闭。之后,当您再次构建并运行您的应用程序时,只要在它抛出的行上抛出异常,它就会中断

关于ios - 我如何知道哪一行代码导致我的 iOS 应用程序在 Xcode 9 中崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46408727/

相关文章:

Swift 下标具有不同的 getter 和 setter 签名

debugging - GDB 可以在一系列函数调用上设置断点吗?

objective-c - 如何在 Objective-C 中调试单例

ios - XCode 5 中的符号崩溃位置

ios - Swift iOS - 将货币格式的字符串转换为数字

ios - 如何强制将 NSDateFormatter 用作 12 小时或 24 小时格式?

ios - 通过 tuist/XcodeProj 以编程方式将文件添加到 native 目标

ios - 一个 Realm 数据模型的变化需要迁移另一个 Realm 。为什么?

swift: if-let 并行赋值

swift - 这是一个正确的例子来展示 Swift 面向协议(protocol)设计的好处吗?