Android Stack Trace - 错误显示在哪里?

时间:2011-10-02 02:49:28

标签: android debugging

为什么我看不到在Android中抛出运行时异常的方法?或者它在那里,我不明白如何读取堆栈跟踪?在Flash中,很容易看出引发错误的位置。在Android中,这并不容易。也许是因为它抛出了不同的线程。我不知道。附有风景。你能看到堆栈跟踪中抛出错误的位置吗?

enter image description here

enter image description here

3 个答案:

答案 0 :(得分:4)

问题是你还没有让堆栈跟踪“展开”出来。抛出异常时,您必须继续单步执行,直到您看到LogCat中出现异常(您应该可以在默认的Debug视图中看到异常)。

例如,这是我的代码:

public class HelloAndroid extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        throw new RuntimeException("Exception");
        //setContentView(R.layout.main);
    }
}

当异常最终一直抛到堆栈时,我终于会在LogCat窗口中看到这个:

enter image description here

如果查看此处,可以在堆栈跟踪的顶部看到抛出的异常。但是,这并没有告诉你很多(除了发生了什么)。在LogCat窗口的底部,您可以看到实际原因是什么(一旦整个异常展开,您将看到)。在这种特殊情况下,它发生在我的HelloAndroid.onCreate()方法中(我选择了它)。双击此行时,您将看到代码以及实际发生异常的位置。

答案 1 :(得分:1)

我从未使用过调试模式,但我使用的是LogCat View。你可以在

中激活它

窗口 - >显示视图 - >其他 - > Android - > logcat中。

如果抛出异常,日志会以红色显示。根据我的经验,真正的问题永远不会出现在异常的开头,它出现在行

之后

“引起”

在那里,您将看到代码中的哪一行生成了异常,并且只需双击即可到达那里。

答案 2 :(得分:0)

调试堆栈跟踪模式不显示它。 Logcat可能。