7

当我处于某个断点时,我正在寻找一种获取堆栈跟踪的方法。这可能吗?理想情况下,无需使应用程序崩溃并修改代码。我尝试使用 Android 调试器,但找不到任何有用的东西。

原因是有时我不确定应用程序是如何到达代码中的某个点的,因此我愿意接受其他有助于我跟踪方法调用的建议。

4

3 回答 3

14

这可以在 Java 中完成:

new Throwable().printStackTrace();

Expressions在 Eclipse 中,如果您在透视视图中使用该代码创建一个“表达式”,它将在视图中Debug打印当前堆栈跟踪(即您的代码停止的断点的堆栈跟踪)Console

于 2012-08-09T13:40:24.153 回答
4
Log.e("AppName", "Debug exception", new Exception());
于 2012-08-09T13:41:48.110 回答
2

最简单的方法是抛出异常,立即捕获并使用printStackTrace().

您也可以尝试Thread.currentThread().getStackTrace()它为您提供一个StackTraceElement[]以防万一您除了拥有文本表示之外还想要其他任何东西printStackTrace()

于 2012-08-09T13:45:04.630 回答