在过去,使用旧的和良好的Xcode 3,每当我发生崩溃时,Xcode都停在显示崩溃的违规线上。这是好时光,很好调试。
现在使用Xcode 4.2,每次应用程序崩溃时,它都会在此行的main.m处停止
int retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate");
没有提供导致崩溃的原因。问题可以在任何类中,但它会在它崩溃时始终停在main.m上。
有没有办法让它再次正常工作?
感谢
注意:我之前已经问过这个问题,但是时间的解决方案被证明并不令人满意,问题仍然存在。
答案 0 :(得分:45)
他们改变了行为,请点击this tutorial to break on all exceptions
编辑: (链接可能会腐烂,所以我会在这里复制信息)
Xcode 4.2中隐藏的一个宝石是“异常断点”功能。一旦启用它,您的调试生活就会变得更加容易,因为无论何时在您的应用程序中抛出异常,Xcode都会显示导致异常发生的代码行。如果您的调用堆栈窗口为空(在iOS应用程序上工作时有时会发生这种情况),这将非常有用。而不是依赖于“输出”窗格中的简短错误消息,它不包含异常类型及其错误消息,您可以确切地看到问题所在!
您可以通过打开Breakpoint Navigator窗格并单击左下角的X按钮来添加异常断点:
单击“Add Exception Breakpoint ...”菜单项后,您将看到此断点配置视图打开:
单击“完成”按钮,您将在断点列表中显示新的“异常断点”。如果您希望所有Xcode工作区都包含异常断点,请右键单击(Ctrl +单击)它并打开“Move Breakpoint To”菜单项:
在子菜单中单击“用户”后,您将看到异常断点位于断点的用户组中。打开另一个项目,它会自动包含在断点列表中。
快乐的调试!
答案 1 :(得分:5)
试试以下适合我的步骤。
不幸的是,这又在编辑器中恢复为main.m :)现在你需要按照以下步骤进行操作
这应该有效