Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.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_Ant_Reverse Engineering_Sequence Diagram - Fatal编程技术网

在庞大的java代码库中查找执行流

在庞大的java代码库中查找执行流,java,ant,reverse-engineering,sequence-diagram,Java,Ant,Reverse Engineering,Sequence Diagram,我试图在一个大型java代码库中找到执行流,这个代码库不是我写的。我已经搜索了使JSonde、JTrace、Java调用跟踪器、JavacallTracer成为可能的工具,但问题是它们都应该与单个Java/jar/class文件一起使用。 我试图理解的代码是用Ant构建的,有数百个JAR。因此,它使用shell脚本运行。我不知道如何将这些工具与此代码一起使用 我真的很感谢你的帮助我知道,这是一个老问题,但是现在我找到了一个解决方案,如果其他人搜索同一个东西,我把它放在这里:./P>一个大的代码库

我试图在一个大型java代码库中找到执行流,这个代码库不是我写的。我已经搜索了使JSonde、JTrace、Java调用跟踪器、JavacallTracer成为可能的工具,但问题是它们都应该与单个Java/jar/class文件一起使用。 我试图理解的代码是用Ant构建的,有数百个JAR。因此,它使用shell脚本运行。我不知道如何将这些工具与此代码一起使用


我真的很感谢你的帮助 关于代码覆盖率,需要记住的一点是,它需要由某种东西驱动。通常,这是通过运行代码的单元测试或集成来实现的


最后,一旦你对如何启用代码覆盖感到满意,你也可以考虑上传和归档它的结果。

< P>我知道,这是一个老问题,但是现在我找到了一个解决方案,如果其他人搜索同一个东西,我把它放在这里:./P>一个大的代码库可以有数十亿条不同的路径。您希望从这种工具中学到什么?理解代码没有灵丹妙药。你必须阅读它,如果有必要,在IDE调试器(如Eclipse)中跟踪它。查找执行流几乎是不可能的。你想要完成的实际任务是什么?Eclipse内置了大多数您需要的工具。您需要图形表示吗?如果是的话,到底应该可视化什么?你说回答Mark O'Conner,我想做的是在代码中做一些更改。在什么条件下?您希望如何进行更改[每个人都希望更改代码,为什么您的需求特别]?手动?自动地您具体希望从控制流中得到什么,使之成为可能?你建议用序列图。这就是你真正想要的吗?这是你唯一想做的吗?我想做的是对代码做一些修改。我已经读了几遍代码,但这还不够。代码可以导入Eclipse,但不能在Eclipse中执行它最初是用命令行构建的。我用代码生成了UML类图。不过,序列图对于理解流程更有用。我认为不可能做到你想要的。即使您有一个工具能够跟踪您的代码,例如通过启用Java的instrumentation API,您仍然需要一些东西来驱动您的代码。最明显的机制是自动测试套件。正如Jim Garrison指出的,通过代码有很多可能的执行路径。遵循哪一条取决于程序的执行方式。最后,在实践中,代码覆盖率报告是一种更标准的执行形式analysis@MarkO康纳:动态分析不能让他得到控制流数据。它让他执行代码,也许还有调用树中的一个分支。他要求进行静态分析。@IraBaxter我理解他在寻找什么,但我不知道有什么工具可以满足要求。你…吗?我试图提供选择。直到他清楚自己的问题到底是什么,不。如果真的是关于控制流,那么是的,我可能知道其他选择。在我开枪之前,我希望他能更清楚地知道自己的需要。