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

How do I know which line of code has caused my iOS app to crash in Xcode 9

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

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

会弹出一个小菜单,从那里,你 select Exception Breakpoint…

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

您必须向上滚动才能看到错误。如果向上滚动所有 "terminating with uncaught exception of type NSException" 内容,您会看到类似 "Terminating app due to blah blah blah" 的内容,然后在右下方的下一行中会显示 "reason: blah blah blah"。这应该会告诉您应用崩溃的原因。