生成空的.gcda文件

时间:2014-05-28 22:41:03

标签: gcov lcov

我使用gcov进行代码覆盖分析,使用lcov生成覆盖的图形输出。这适用于已执行目标文件的至少一部分的代码文件。我希望能够跟踪尚未执行的文件。我怀疑这与不为这些文件生成的.gcda文件有关。有没有办法强制为所有目标文件生成.gcda文件而不管执行情况?

2 个答案:

答案 0 :(得分:6)

此处概述了执行此操作的步骤:

http://linux.die.net/man/1/lcov

捕获测试用例数据时的建议过程:

  1. 创建基线覆盖率数据文件

    lcov -c -i -d appdir -o app_base.info

  2. 执行测试

    appdir/test

  3. 创建测试覆盖率数据文件

    lcov -c -d appdir -o app_test.info

  4. 组合基线和测试覆盖率数据

    lcov -a app_base.info -a app_test.info -o app_total.info

答案 1 :(得分:0)

对于所有正确编译和链接的文件,都会有一个.gcda文件。如果您发现缺少* .gcda文件,请检查* .gcno文件是否存在。如果它没有检查你是否所有的Makefile都正确构建:

  • -ftest-coverage:使用此编译源文件时生成.gcno注释文件
  • -fprofile-arcs:.gcda count数据文件是在执行包含使用GCC -fprofile-arcs选项构建的目标文件的程序时生成的。

有关详情:https://gcc.gnu.org/onlinedocs/gcc/Gcov.html#Gcov

相关问题