java中获取当前被调用函数的函数路径(stack trace)
package hello; public class GetStackTrace { public static void main(String[] args) { find2(); } static void find2() { find1(); } static void find1() { for (StackTraceElement i : Thread.currentThread().getStackTrace()) { System.out.println(i); } } }
输出
java.lang.Thread.getStackTrace(Thread.java:1503) hello.GetStackTrace.find1(GetStackTrace.java:11) hello.GetStackTrace.find2(GetStackTrace.java:8) hello.GetStackTrace.main(GetStackTrace.java:5)
可以利用这个功能生成整个程序的调用树,方便分析程序结构。