在 Xcode 中,假设您为 iphone 编写了一个应用程序,但其中存在运行时错误。我所看到的是它只是关闭了模拟器中的程序,但并没有真正突出或给我任何关于导致崩溃的线路的任何反馈......我错过了什么吗?
注意:我不认为控制台非常有效,因为它只是吐出一个错误,但我仍然需要找到代码中该错误的根源所在。
在 Xcode 中,假设您为 iphone 编写了一个应用程序,但其中存在运行时错误。我所看到的是它只是关闭了模拟器中的程序,但并没有真正突出或给我任何关于导致崩溃的线路的任何反馈......我错过了什么吗?
注意:我不认为控制台非常有效,因为它只是吐出一个错误,但我仍然需要找到代码中该错误的根源所在。
在控制台中,在堆栈跟踪上方,它应该显示类似“[ClassName selectorName] unrecognized selector sent to instance”之类的内容。
确保您确实打算将该选择器发送到该类。如果您发布它是什么,我们可能会提供更多帮助。
要访问 GDB,请启用断点,通过单击行号槽向代码添加一个,按 build and debug,最后打开调试器 (CMD+Shift+Y)。
您可以在异常上设置全局断点,这将让您跟踪它们发生的确切点。为此,请选择运行 | 显示 | Xcode 中的断点菜单项,用于调出断点对话框。选择全局断点(以便为所有项目启用此功能)并objc_exception_throw
在libobjc.A.dylib
.
现在,如果您通过选择 Run | 启动您的应用程序。Debug - Breakpoints On,或在运行前在调试器窗口(Run | Debugger)中手动启用断点,应用程序应该在抛出异常的点停止。然后,您可以在调试器窗口中查看堆栈跟踪,它将突出显示导致异常的特定行。
查看控制台(command-shift-R)。