我正在修改一个相当大的代码库,我正在调试过程中。我的代码没有终止,所以我没有得到堆栈跟踪。我试图用断点隔离故障代码,但遗憾的是它运行的是一直执行的部分(事务管理器),所以我点击了死亡。更确切地说,我得到的印象是代码只在某些条件下中断,但大部分时间都运行良好。
在Intellij中有没有办法看到最后一个方法/当前执行的方法?
感谢
答案 0 :(得分:4)
您可以使用跟踪工具BTrace打印出程序中输入的每种方法的名称。 BTrace附带了一个示例脚本,名为AllMethods
,就是这样做的。
你们所要做的就是启动你的java进程,然后针对JVM的PID运行BTrace脚本。它将打印输入的每个方法。如果您愿意,可以将其限制为某些包。有关使用BTrace的更多信息,请查看此tutorial。
答案 1 :(得分:1)
使用分析器。它将告诉您哪些方法正在执行,您的程序在每种方法中花费的时间等等。应该很容易从那里找到您的程序花费时间。
JProfiler就是一个例子。我认为它有一个试用/演示版本,功能齐全。