lcov问题生成输出文件

时间:2012-09-03 12:56:49

标签: code-coverage gcov lcov

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

然而,当我跑

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

我收到警告

  

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

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

我是代码覆盖的新手。任何帮助解决这个问题我们都非常感激。

1 个答案:

答案 0 :(得分: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