在文件夹上运行gcov工具

时间:2012-12-06 07:27:36

标签: gcov

我使用.c在一些gcc -fprofile-arcs -ftest-coverage [filenames]文件上运行gcov工具。命令
但是为这个命令提供文件名是非常繁琐的工作 相反,我需要帮助,我可以在包含所有源文件的文件夹上运行gcov工具
这可能吗? 请帮我解决一下。

提前致谢。

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,我的项目包含~3000个文件。 编写一个shell脚本,使用find exec将所有.c .gcno和.gcda文件抓取到一个公共文件夹,然后使用相同的命令运行gcov。 样品:

LOCATION=your_gcov_folder_name
find -name '*.c' -exec cp -t $LOCATION {} +
find -name '*.gcno' -exec cp -t $LOCATION {} +
find -name '*.gcda' -exec cp -t $LOCATION {} +
cd $LOCATION
find -name '*.c' -exec gcov -bf {} \;

在包含项目的代码文件夹上运行它。

答案 1 :(得分:0)

[LCOV] [1]自动提供用户友好的报告,首先我建议看一看。

如果您真的想使用gcov显示覆盖率数据,可以尝试

  找到。 -name" * .cpp" -exec sh -c' gcov {} -o" $(dirname {})"' \;

这将根据您的gcno和gcda文件创建gcov文件。

通常移动gcno / gcda文件并不完美。它会导致查找源代码的问题。