在Eclipse调试器里面的Stacktrace

时间:2012-10-08 13:38:49

标签: java eclipse

我有一个例外,没有得到很好的处理。我在调试器中的一行,我手头有异常,但它不在我的代码中,所以我不能在那时记录它。所以我坐在调试器中,我的变量窗口中有异常,我正在试图弄清楚如何从中获取堆栈跟踪,这样我就可以找到异常发起的位置并更好地处理它。

想法?

4 个答案:

答案 0 :(得分:9)

Debug透视图中,显示Expressions视图。现在,您可以添加e.printStackTrace()的表达式,其中e是您的变量。

或者,您可以将表达式更改为getStackTrace()并展开StackTraceElement输出窗口中的Expressions数组。

答案 1 :(得分:5)

为什么不创建Exception Breakpoint?然后,您不必手动调试代码,直到异常发生,而调试器只会在最初抛出异常时停止,您可以在调试器中看到 live stacktrace。

答案 2 :(得分:2)

我通常使用以下技巧。 转到“表达式”视图并添加表达式e.printStackTrace()。堆栈跟踪将打印到您的STDERR,即如果您的应用程序在Eclipse IDE中运行,则打印到eclipse控制台。

答案 3 :(得分:1)

如果您知道问题所在的行,则可以在代码中设置一个断点,并查看“调试”选项卡,该页面将向您显示堆栈:

enter image description here