1

我正在尝试找到一种输出模式,该模式将向我显示正在运行的程序中调用的每个方法的执行和顺序。详细和调试器输出细节似乎没有给我。有没有办法获得像我在这里描述的那样的详细输出?谢谢!

4

1 回答 1

1

您可以使用以下方式执行此类操作:

:将这些代码中的任何一个放在程序中的每个方法中:

System.out.println(Thread.currentThread().getStackTrace()[1].getMethodName());
System.out.println(new Object(){}.getClass().getEnclosingMethod().getName()); 

:使用dumpStack()方法:

Thread.currentThread().dumpStack();

:使用printStackTraceofThrowable

new Throwable().printStackTrace();

:这是第一个解决方案的变体

StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
for(StackTraceElement st : stackTrace){
    System.err.println(st);
}
于 2013-07-22T06:20:31.707 回答