下文是对API对StackTraceElement介绍
public final class StackTraceElementextends Object implements Serializable
堆栈跟踪中的元素,它由 Throwable.getStackTrace()
返回。每个元素表示单独的一个堆栈帧。所有的堆栈帧(堆栈顶部的那个堆栈帧除外)都表示一个方法调用。堆栈顶部的帧表示生成堆栈跟踪的执行点。通常,这是创建对应于堆栈跟踪的 throwable 的点。
调用的方法都会被放在线程的栈中,而栈中是通过栈帧来存放信息,StackTraceElement
eg:
StackTraceElement[] sa = Thread.currentThread().getStackTrace();
for (int i = 0; i < sa.length; i++) {
StackTraceElement s = sa[i];
System.out.println(s.getFileName()+"\t"+s.getClassName()+"."+s.getMethodName()+"("+s.getLineNumber()+")");
}