在XCODE 4.2中崩溃时,线程不会停在实际的代码行上

时间:2012-03-13 00:23:24

标签: iphone ios xcode cocoa-touch xcode4.2

我正在使用XCODE 4.2。每当我崩溃时,我都没有看到崩溃的实际代码行,而是在堆栈跟踪中一直看到带有通用异常处理程序的符号地址。我是否需要进行一些设置才能看到实际的代码行崩溃。

enter image description here enter image description here

3 个答案:

答案 0 :(得分:2)

如果查看堆栈跟踪,您会看到handle_uncaught_exception。这意味着您的应用程序崩溃,因为抛出了异常但未处理。通常,这意味着您尝试使用已释放的对象,或者您尝试访问超出数组末尾的内容。

当然,在这一点上,很难说出现了什么问题。幸运的是,Xcode将允许您设置断点,以便在引发异常时停止,这将为您提供更多的上下文。

这很容易;只需在此处选择“添加例外断点”:

Image showing the "Add exception breakpoint" option in Breakpoints Navigator

然后再次运行您的应用,您将停在发现错误的位置。

答案 1 :(得分:1)

您应该设置一个异常断点。这种回溯只意味着你有一个未被捕获的例外。

答案 2 :(得分:-1)

这是正常的,当编译器不知道导致程序崩溃的确切来源时,就会发生这种情况。它们被称为运行时错误。你将来会多次这样做。

要解决此问题,只需手动调试程序即可。为此,请缩小您认为崩溃源的位置,并在代码旁边的左侧边距上单击clickIng添加断点。

当你的程序到达那个点时,它将停止运行并允许你手动从一行跳到另一行。然后你希望到达程序崩溃的程度。