0

我一直在尝试获取我一直在使用 lcov 运行的一些测试用例的代码覆盖率。

但是,当我跑步时

lcov --directory $PWD --capture --output-file lcov.output

我收到警告

geninfo:警告:在 .bb 文件中找不到 test.c.gcov 的条目,正在跳过文件!

如果我直接在 test.c 上运行 gcov,我可以生成一个成功显示利用率的 gcov 输出。

我是代码覆盖的新手。我们将不胜感激任何解决此问题的帮助。

4

1 回答 1

1

在某些时候,gcov 格式发生了变化。基本上这个问题是因为当前版本的 gcov 产生了一个带有源文件名等的头文件。Lcov 期望这个头文件并试图提取这个失败,它显示了错误。

作为一种解决方法,我修改了 LCOV 代码,如果返回的标头为空,则直接从 gcov 文件名假定源文件名。此解决方案可能不是最优雅的,因为如果创建 gcov 文件的名称与源文件名不同,它可能会导致不兼容

更新:这个特殊问题是由于 lcov-1.8 中的一个错误造成的。lcov-1.10 的版本应该对此进行修复。( http://ltp.cvs.sourceforge.net/viewvc/ltp/utils/analysis/lcov/bin/geninfo?r1=1.106&r2=1.107 )

于 2012-09-12T11:51:22.007 回答