寻找一种方法来排除geninfo/genhtml使用的文件

Sag*_*gar 12 html gcc gcov lcov

我们正在尝试使用geninfo和genhtml(替代gcovr,请参见此处)使用gcov提供的覆盖率生成html页面.

  • geninfo 从gcov的*.gcda文件创建lcov-tracefiles
  • genhtml 从上面的tracefiles生成html文件

但是,最终结果不仅包括我们的代码,还包括来自/ usr/include的文件.

有谁知道排除这些的方法?

我试着查看手册页但找不到任何内容http://linux.die.net/man/1/geninfo

Dou*_*der 19

您可以使用lcov -r选项删除您不感兴趣的文件.

lcov -r <input tracefile> /usr/include/\* -o <output tracefile>
Run Code Online (Sandbox Code Playgroud)


dbn*_*dbn 16

如果你只是想忽略来自/ usr/include的文件,一个更好的选择可能是"--no-external",它就是为了这个目的.

lcov --no-external -d $(BLD_DIR) --capture -o .coverage.run
Run Code Online (Sandbox Code Playgroud)

  • 另外:如果您正在构建源代码构建;您可以根据需要使用 `--directory` 标志设置源目录,以便找到正确的源 - 因为其他源将被省略。 (2认同)