import java.util.logging.Logger; public class StackTraceExample { private static final Logger logger = Logger.getLogger(StringReplace.class.getName()); public static void main(String args[]) { //calling a method to print stack trace further down first(); } public static void first() { second(); } private static void second() { third(); } private static void third() { //If you want to print stack trace on console than use dumpStack() method System.err.println("Stack trace of current thread using dumpStack() method"); Thread.currentThread().dumpStack(); //This is another way to print stack trace from current method System.err.println("Printing stack trace using printStackTrace() method of Throwable "); new Throwable().printStackTrace(); //If you want stack trace as StackTraceElement in program itself than //use getStackTrace() method of Thread class StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace(); //Once you get StackTraceElement you can also print it to console System.err.println("displaying Stack trace from StackTraceElement in Java"); for (StackTraceElement st : stackTrace) { // System.err.println(st); } } }
java 方法调用栈打印
最新推荐文章于 2024-08-21 02:18:24 发布
这个Java程序演示了如何使用`dumpStack()`、`printStackTrace()`和`getStackTrace()`方法来打印当前线程的堆栈跟踪。这些方法在调试和问题排查中非常有用,可以帮助开发者了解代码执行的路径。
摘要由CSDN通过智能技术生成