我正在尝试找到一种输出模式,该模式将向我显示正在运行的程序中调用的每个方法的执行和顺序。详细和调试器输出细节似乎没有给我。有没有办法获得像我在这里描述的那样的详细输出?谢谢!
问问题
475 次
1 回答
1
您可以使用以下方式执行此类操作:
一:将这些代码中的任何一个放在程序中的每个方法中:
System.out.println(Thread.currentThread().getStackTrace()[1].getMethodName());
System.out.println(new Object(){}.getClass().getEnclosingMethod().getName());
二:使用dumpStack()
方法:
Thread.currentThread().dumpStack();
三:使用printStackTrace
ofThrowable
new Throwable().printStackTrace();
四:这是第一个解决方案的变体
StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
for(StackTraceElement st : stackTrace){
System.err.println(st);
}
于 2013-07-22T06:20:31.707 回答