Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java类中找到使用特定方法的所有执行路径?_Java_Code Analysis_Static Analysis_Execution - Fatal编程技术网

如何在Java类中找到使用特定方法的所有执行路径?

如何在Java类中找到使用特定方法的所有执行路径?,java,code-analysis,static-analysis,execution,Java,Code Analysis,Static Analysis,Execution,给定某个java方法,我需要确定从entry类到目标方法的所有执行路径 例如: 目标方法:MyClass.myMethod() 执行路径: EntryClass--调用-->Class1.method1()--调用-->Class2.method1()--调用-->Class2.method2()--调用-->MyClass.myMethod() EntryClass--调用-->Class1.method1()--调用-->Class3.method1()--调用-->Class2.metho

给定某个java方法,我需要确定从entry类到目标方法的所有执行路径

例如:

目标方法:MyClass.myMethod()

执行路径

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

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

EntryClass--调用-->Class3.method1()--调用-->MyClass.myMethod()

等等


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

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

打开它,只需点击方法名,按CtrlAltH

是马里兰大学的一篇文章。是的

一种使用静态分析来查找Java代码中错误的程序

是一个

计算测试访问的代码百分比的免费Java工具。它可以用来识别Java程序中哪些部分缺少测试覆盖率

直到我工作的一位高级开发人员做了一次代码审查,我才听说过它们。您可以将它们作为maven插件安装。运行命令

mvn站点


运行代码覆盖率报告。我不能告诉你更多关于实际配置它的信息,因为我没有这样做。他们的文档应该很好。

您是否考虑过该方法也可以通过反射调用?我不知道工具是否可以做到这一点。好的,我将光标放在Eclipse中的方法定义中,然后按Ctrl+Alt+H键:Navigate | Call Hierarchy。