我如何在java中将stacktrace添加到我的调试打印输出中

Joh*_*cke 11 java debugging

从调试打印输出中打印堆栈跟踪的最简单方法是什么?通常在测试期间,您希望知道引发调试消息的情况的callstack.

shs*_*mer 18

如果你正在使用log4j

Exception e = new Exception();
log.error("error here", e);
Run Code Online (Sandbox Code Playgroud)

将堆栈跟踪打印到您的日志.


Dan*_*yer 9

Thread.dumpStack();

  • 使用日志记录 打印到stdout/stderr只能由OS实用程序和"Hello World"应用程序完成. (4认同)

小智 6

如果要将堆栈跟踪保存到String中,可以执行此操作;

String exception = "";
for (StackTraceElement element : e.getStackTrace())
   exception += element.toString() + "\n";
Run Code Online (Sandbox Code Playgroud)

显然,e是一个例外.

此外,自动生成自己的异常只是为了找到调试的堆栈跟踪听起来很奇怪.获取Eclipse并使用它的调试模式,它真的很棒.