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)

可以利用这个功能生成整个程序的调用树,方便分析程序结构。

posted @ 2013-03-25 14:42  mongg  阅读(871)  评论(0编辑  收藏  举报