【发布时间】:2012-03-29 10:07:14
【问题描述】:
我正在使用 XCODE 4.2。每当我崩溃时,我都看不到崩溃的实际代码行,而是在堆栈跟踪中一直看到带有通用异常处理程序的符号地址。我是否需要做一些设置才能看到实际的代码行使其崩溃。
【问题讨论】:
标签: iphone ios xcode cocoa-touch xcode4.2
我正在使用 XCODE 4.2。每当我崩溃时,我都看不到崩溃的实际代码行,而是在堆栈跟踪中一直看到带有通用异常处理程序的符号地址。我是否需要做一些设置才能看到实际的代码行使其崩溃。
【问题讨论】:
标签: iphone ios xcode cocoa-touch xcode4.2
这是正常的,当编译器不知道导致程序崩溃的确切来源时会发生这种情况。它们被称为运行时错误。将来你会得到很多次。
要解决这个问题,只需手动调试程序。为此,请缩小您认为崩溃源所在的位置,并通过在代码旁边的左侧空白处单击添加断点。
当您的程序到达该点时,它将停止运行并允许您手动从一行跳转到另一行。然后你希望能到达你的程序崩溃的地步。
【讨论】:
你应该设置一个异常断点。该回溯只是意味着您有一个未捕获的异常。
【讨论】:
如果您查看堆栈跟踪,您会看到handle_uncaught_exception。这意味着您的应用程序正在崩溃,因为引发了异常并且未处理。通常,这意味着您尝试使用已释放的对象,或者您尝试访问超出数组末尾的内容。
当然,在这一点上,很难说出了什么问题。幸运的是,Xcode 将允许您设置断点以在引发异常时停止,这将为您提供更多上下文。
这真的很容易;只需在此处选择“添加异常断点”:
然后再次运行您的应用,您将在发现错误的地方停下来。
【讨论】: