如何找到Java类中使用某个方法的所有执行路径?

sms*_*omb 5 java code-analysis static-analysis execution

给定一个java方法,我需要确定从入口类到目标方法的所有执行路径。

例子:

目标方法:MyClass.myMethod()

执行路径

EntryClass --calls--> Class1.method1() --calls--> Class2.method1() --calls--> Class2.method2() --calls--> MyClass.myMethod()

EntryClass --calls--> Class1.method1() --calls--> Class3.method1() --calls--> Class2.method2() --calls--> MyClass.myMethod()

EntryClass --calls--> Class3.method1() --calls--> MyClass.myMethod()

ETC。

是否有任何工具可以对我的代码库运行静态分析以确定所有这些代码执行路径?

mer*_*ike 3

Eclipse 的调用层次结构是否符合要求?它显示方法的所有调用者或方法的所有被调用者的树(它仅显示源代码可用的调用者或被调用者,而不显示通过反射进行的调用)。

要打开它,只需单击方法名称,然后按CtrlAltH