我在Linux上使用eclipse-cpp-luna-SR1和工具链gcc 4.9.1
代码被划分为两个项目:
Properties|C/C++ Build|Settings|Debugging|Generate gcov information (-ftest-coverage -fprofile-arcs)
已启用Generate gcov information从可执行项目运行程序
Profiling Tools|Profile Code Coverage
工作正常,结果显示在gcov选项卡中,覆盖信息(Coverage %)来自可执行项目和静态库项目中的所有源代码文件。
当检查可执行项目的源文件时,颜色高亮显示工作正常,但对于驻留在静态库项目中的源文件则完全不起作用--即,在所有上都没有突出显示!
我在Linux和Windows上都试过了:相同的行为
在eclipse的早期版本中,如Juno (4.2)和Kepler4.3,对于静态库中的源文件,高亮显示效果很好。
有线索吗?
发布于 2015-04-10 11:14:32
这可能有帮助:如果源代码是通过链接文件夹(但实际上位于project根目录之外)包含在项目中,则使用gcov的代码覆盖率不会突出显示任何代码,尽管覆盖率信息是正确的。
也许您在切换到露娜SR1时对库代码做了相同或类似的操作,因为以前的eclipse版本(据我所知)不支持那种相对文件夹链接。
发布于 2016-11-04 23:18:02
在这方面有一个eclipse bug.cgi?id=439260。我在Mars和Neon中也看到过这个问题。
如果有帮助,我尝试使用lcov和genhtml作为eclipse可视化的替代方案。
发布于 2020-01-06 19:05:06
我试过使用lcov和genhtml,正如它在链接中所说的那样(在cygwin环境下)
该进程生成一个名为ex_test.info的文件。
正如user3567678所说,如果文件位于一个不是项目路径的路径中,代码覆盖率就会失败。
但是,编辑我看到的“冲突”文件是由这样的路径决定的。
SF:/cygdrive/e/.../project_folder/E:/..../other_path/conflicting_file.c所以我改名为:
SF:/cygdrive/e/..../other_path/conflicting_file.c然后又试了一次genhtml。该过程生成html摘要,不存在任何问题。
因此,我假设eclipse集成的代码覆盖工具不是问题所在,而是它下面的工具。
https://stackoverflow.com/questions/26983466
复制相似问题