我需要知道在代码中逐个调用哪些方法。简单的逐步调试没有帮助(需要太多时间)。我怎样才能做到这一点?如果不更改代码并将结果保存在文件中,这样做真的很棒。
答案 0 :(得分:1)
在您的计划完成之前,您可以Thread.currentThread().getStackTrace();
然后打印其中的每个元素。堆栈跟踪显示了线程中的执行顺序。
答案 1 :(得分:1)
听起来像是一个贯穿各领域的问题,特别是当你谈到不改变现有代码时。
AspectJ可以使用切入点为您完成这项工作。
http://www.eclipse.org/aspectj/doc/released/progguide/starting-aspectj.html
答案 2 :(得分:1)
由于看起来您可能不想检查堆栈树,只是订单,您可以查看BTrace或Adding logging with Java agent。
答案 3 :(得分:1)
您是说要记录程序中发生的每个方法调用吗?如果是这样,请查看AspectJ - 有一个示例here来记录特定方法,但您可以轻松地对其进行调整以涵盖所有方法。
答案 4 :(得分:0)
当您捕获异常时,您可以尝试使用printStackTrace()函数来转储已调用的内容。
try{
//Your code
}
catch(Exception e){
e.printStackTrace();
}
答案 5 :(得分:0)
在调试模式下运行代码,您将能够设置断点以暂停执行,逐行执行,检查变量等。基本上所有IDE都具有调试模式。