パンくず
サンプルコード
1階層目
package perfect.trace; public class TraceSample { public static void main(String[] args) { TraceSample2 trace2 = new TraceSample2(); trace2.hoge(); } }
2階層目
package perfect.trace; public class TraceSample2 { public void hoge() { TraceSample3 trace3 = new TraceSample3(); trace3.hoge(); } }
3階層目
package perfect.trace; public class TraceSample3 { public void hoge() { StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace(); for (StackTraceElement stack : stackTrace) { System.out.print(stack.getClassName() + "|"); System.out.print(stack.getMethodName() + "|"); System.out.print(stack.getFileName() + "|"); System.out.println(stack.getLineNumber()); } } }
出力
java.lang.Thread|getStackTrace|null|-1 perfect.trace.TraceSample3|hoge|TraceSample3.java|5 perfect.trace.TraceSample2|hoge|TraceSample2.java|6 perfect.trace.TraceSample|main|TraceSample.java|6