我有一个没有得到很好处理的异常。我在调试器中的一行,我手头有异常,但它不在我的代码中,所以我不能在那个时候记录它。所以我坐在调试器中,变量窗口中有异常,我试图弄清楚如何从中获取堆栈跟踪,以便我可以找到异常的来源并更好地处理它。
想法?
在Debug
透视图中,显示Expressions
视图。现在您可以添加一个表达式,说明您的变量e.printStackTrace()
在哪里。e
或者,您可以将表达式更改为并在输出窗口中getStackTrace()
展开StackTraceElement
数组。Expressions
你为什么不创建一个异常断点?然后,在异常发生之前,您不必手动调试代码,而是只要最初抛出异常,调试器就会停止,您可以在调试器中看到实时堆栈跟踪。
我通常使用以下技巧。转到“表达式”视图并添加表达式e.printStackTrace()
。如果您的应用程序在 Eclipse IDE 中运行,堆栈跟踪将打印到您的 STDERR,即 Eclipse 控制台。