[英]Eclipse plugin development: custom profiler (JDT )
我正在开发一个作为Eclipse插件的Java代码概要分析,它将使用JDT输出Java代码的执行路径和代码覆盖率信息。
如何提取诸如在执行过程中执行了哪些行之类的信息,以确定执行路径和代码覆盖率?
我正在研究JDT CORE和JDT DEBUG,但到目前为止,我还无法找到一种方法来跟踪执行了哪些行。
(这个问题似乎很广泛,所以我提供同样广泛的答案,希望您觉得它有用。)
EclEmma是用于Eclipse的Java代码覆盖率插件。 它使用一个名为JaCoCo的库来提供代码覆盖率。 检查该开源项目的源代码可能是了解如何实现自己的探查器的最佳方法(或者可能是对EclEmma进行了改进)。
JaCoCo的源存储库位于github: https : //github.com/jacoco/jacoco ,但是CoreTutorial
可能是一个不错的起点。
本教程的关键部分是:
// Together with the original class definition we can calculate coverage
// information:
final CoverageBuilder coverageBuilder = new CoverageBuilder();
final Analyzer analyzer = new Analyzer(executionData, coverageBuilder);
analyzer.analyzeClass(getTargetClass(targetName), targetName);
之后再打印一些行信息:
printCounter("lines", cc.getLineCounter());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.