【发布时间】:2010-11-07 07:57:24
【问题描述】:
如何在 Java 中获取当前的 stack trace,就像在 .NET 中你可以如何获取 Environment.StackTrace?
我找到了Thread.dumpStack(),但这不是我想要的——我想找回堆栈跟踪,而不是打印出来。
【问题讨论】:
-
在 Eclipse 中调试时,我总是使用“new Exception().printStackTrace()”作为监视表达式。当您在断点处暂停并想知道您来自哪里时,这很方便。
-
@TimBüthe:当您处于调试模式时,Eclipse 不是已经告诉您堆栈跟踪了吗?我想是的。
-
Arrays.toString(Thread.currentThread().getStackTrace());很简单。
-
@Arkanon 它指的是 java,并且正在展示他们将如何在 .net 中执行此操作以及在 java 中的等价物。
-
要打印得很好,你可以使用 apache StringUtils: StringUtils.join(currentThread().getStackTrace(), "\n");
标签: stack-trace java