用Java获取当前堆栈跟踪

如何获得Java中的当前堆栈跟踪,如在.NET中如何执行Environment.StackTrace

顺便说一句, Thread.dumpStack()不是我想要的 - 我想获取堆栈追踪,而不是打印出来。


你可以使用Thread.currentThread().getStackTrace()

它返回一个表示程序当前堆栈跟踪的StackTraceElement数组。


Thread.currentThread().getStackTrace();

如果你不关心堆栈的第一个元素是什么,那就好了。

new Throwable().getStackTrace();

将为您当前的方法定义一个定位,如果这很重要的话。


for (StackTraceElement ste : Thread.currentThread().getStackTrace()) {
    System.out.println(ste);
}
链接地址: http://www.djcxy.com/p/2333.html

上一篇: Get current stack trace in Java

下一篇: Efficiency of Java "Double Brace Initialization"?