崩溃后Xcode总是在main.m停止

时间:2011-11-30 04:31:21

标签: iphone ios xcode ipad

在过去,使用旧的和良好的Xcode 3,每当我发生崩溃时,Xcode都停在显示崩溃的违规线上。这是好时光,很好调试。

现在使用Xcode 4.2,每次应用程序崩溃时,它都会在此行的main.m处停止

int retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate");

没有提供导致崩溃的原因。问题可以在任何类中,但它会在它崩溃时始终停在main.m上。

有没有办法让它再次正常工作?

感谢

注意:我之前已经问过这个问题,但是时间的解决方案被证明并不令人满意,问题仍然存在。

2 个答案:

答案 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)

试试以下适合我的步骤。

  1. 打开“偏好设置”,选择“行为”选项卡。
  2. 从左栏选择“意外退出”。
  3. 选择“使用当前视图显示调试器”。
  4. 不幸的是,这又在编辑器中恢复为main.m :)现在你需要按照以下步骤进行操作

    1. 打开“偏好设置”,选择“行为”选项卡。
    2. 只需转到“运行完成”
    3. 找到“显示”行并单击复选框
    4. 在同一行修改目标,转到下拉菜单中的“当前”。
    5. 这应该有效