用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