我正试图找到一种输出模式,它将向我显示运行程序中调用的每个方法的执行情况和顺序。详细的和调试器的输出细节似乎并没有给我这些。有什么方法可以得到像我在这里描述的那样的详细输出吗?谢谢
您可以使用以下方式执行类似操作:
一个:在程序中的每个方法中放入以下代码之一:
System.out.println(Thread.currentThread().getStackTrace()[1].getMethodName());
System.out.println(new Object(){}.getClass().getEnclosingMethod().getName());
两个:使用dumpStack()
方法:
Thread.currentThread().dumpStack();
三:使用Throwable
的printStackTrace
new Throwable().printStackTrace();
四:这是第一种溶液的变体
StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
for(StackTraceElement st : stackTrace){
System.err.println(st);
}