首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在eclipse-cpp-露娜-sr1中没有用于静态库项目的源代码覆盖颜色高亮显示。

问在eclipse-cpp-露娜-sr1中没有用于静态库项目的源代码覆盖颜色高亮显示。
EN

Stack Overflow用户
提问于 2014-11-17 22:50:16
回答 4查看 1.8K关注 0票数 5

我在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,对于静态库中的源文件,高亮显示效果很好。

有线索吗?

EN

回答 4

Stack Overflow用户

发布于 2015-04-10 11:14:32

这可能有帮助:如果源代码是通过链接文件夹(但实际上位于project根目录之外)包含在项目中,则使用gcov的代码覆盖率不会突出显示任何代码,尽管覆盖率信息是正确的。

也许您在切换到露娜SR1时对库代码做了相同或类似的操作,因为以前的eclipse版本(据我所知)不支持那种相对文件夹链接。

票数 1
EN

Stack Overflow用户

发布于 2016-11-04 23:18:02

在这方面有一个eclipse bug.cgi?id=439260。我在Mars和Neon中也看到过这个问题。

如果有帮助,我尝试使用lcov和genhtml作为eclipse可视化的替代方案。

票数 1
EN

Stack Overflow用户

发布于 2020-01-06 19:05:06

我试过使用lcov和genhtml,正如它在链接中所说的那样(在cygwin环境下)

该进程生成一个名为ex_test.info的文件。

正如user3567678所说,如果文件位于一个不是项目路径的路径中,代码覆盖率就会失败。

但是,编辑我看到的“冲突”文件是由这样的路径决定的。

代码语言:javascript
复制
SF:/cygdrive/e/.../project_folder/E:/..../other_path/conflicting_file.c

所以我改名为:

代码语言:javascript
复制
SF:/cygdrive/e/..../other_path/conflicting_file.c

然后又试了一次genhtml。该过程生成html摘要,不存在任何问题。

因此,我假设eclipse集成的代码覆盖工具不是问题所在,而是它下面的工具。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26983466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档