【问题标题】:Thread not stopping on actual line of code when crash in XCODE 4.2在 XCODE 4.2 中崩溃时,线程不会在实际代码行上停止
【发布时间】:2012-03-29 10:07:14
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

    要解决这个问题,只需手动调试程序。为此,请缩小您认为崩溃源所在的位置,并通过在代码旁边的左侧空白处单击添加断点。

    当您的程序到达该点时,它将停止运行并允许您手动从一行跳转到另一行。然后你希望能到达你的程序崩溃的地步。

    【讨论】:

    • 废话。通过设置异常断点可以轻松识别未捕获异常(几乎是 Cocoa 中的每个运行时错误)导致的运行时错误。
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

      这真的很容易;只需在此处选择“添加异常断点”:

      然后再次运行您的应用,您将在发现错误的地方停下来。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-01-06
        • 1970-01-01
        • 1970-01-01
        • 2011-07-24
        • 1970-01-01
        • 2015-12-17
        • 1970-01-01
        相关资源
        最近更新 更多