Intellij(或其他) - 可以看到在Java中进行的所有调用的图形/树吗?

我正在Intellij Ultimate 14中做一个项目。我不打算对应用程序进行实时调试以跟踪调用。遵循所有代码路径所需的时间将是疯狂的。我希望Intellij有某种分析工具,可以为我提供在给定特定起点或多个特定起点的项目内进行的所有调用。因此,如果我从方法A()开始,A调用B()和C(),B调用D(),那么我希望能够以某种方式收集和导出/显示该信息。我还希望包含对任何方法的注释,并且它需要能够在可能的情况下解析实现的接口(许多接口只有一个),或者如果需要,允许我选择一个实现。我不认为Intellij除了能够找到单个指定方法的所有调用方/被调用方之外,还内置了这种功能。这样的工具存在吗?


答案 1

在IntelliJ中,当您的光标在可调用的方法名称上时,按下将带您进入“调用层次结构”窗口。ctrl-alt-H

如果您更喜欢菜单,则相同:“导航>呼叫层次结构”


答案 2

Atlas(http://www.ensoftcorp.com/atlas)是一个可以做到这一点的Eclipse插件。有一个称为“智能视图”的功能,可以执行您描述的功能。选择“调用”关系,然后单击方法名称,视图将在调用图中显示父方法和子方法。图形是交互式的,因此,如果双击图形中的节点或边缘,它将跳转到相应的源代码。还有其他关系,例如控制流和数据流,但调用图是您在问题中描述的。

Atlas Smart View Screenshot


推荐