运行 gcovr 命令后,无法生成代码覆盖率,也无法从子目录中删除 .gcda
Unable to generate code coverage and also .gcda deleted from sub directories after running gcovr command
我面临以下代码覆盖问题:
- 没有为 .cpp 文件生成详细的 html 文件
有 .gcno 和 .gcda 对应项。
- gcda 文件在 运行 gcovr 命令后自动删除。
我遵循了以下步骤:
- .gcno 是在我使用 -fprofile-arcs 编译我的代码时生成的
-ftest-coverage 选项并与 -lgcov 选项链接。
- 我运行生成.gcda文件的可执行文件。
- 我将 .gcno 和 .gcda 文件复制到我的位置
源代码。
- I 运行 来自顶层目录的 gcovr 命令(如下所述)
其子目录进一步包含 .cpp 文件。
- 生成了coverage.html,里面有其他的信息
html 报告,但当我打开它们时它们是空白的。
- 我已经在不同的位置尝试了 gcovr 运行,例如
根目录或子目录。
gcno 和 .gcda 文件所在的目录是 ::
D:\RTC_Latest_GTEST\RTC_21_11_18\software\output_gtest\Application\contents\Application_name
执行 gcovr 命令的目录是 ::
D:\RTC_Latest_GTEST\RTC_21_11_18\software\Application\contents\Application_name
目前我是 运行 来自 Application_name 文件夹的 gcovr 命令。
我 运行 以下命令为我的代码生成深度 html 报告:
python.exe c:\Python27\gcovr --exclude-unreachable-branches -b -r . -d --html --html-details -o coverage.html
预期结果:
- 实际结果将在html中有详细的覆盖率报告
每个具有相应 .gcda 和 .gcno 的 .cpp 文件的格式
对方.
- .gcda 和 .gcno 文件将出现在子目录中
在 运行 gcovr 命令之后。
Generated HTML coverage report
-->.gcda 文件由于 -d 选项而被删除,正如@amon 在评论中所说的那样。
-->下面是我用来生成覆盖率报告的命令,我是 运行 这个来自 Application_name 目录的命令::
gcovr -r .. --html --html-details -o coverage.html --object-directory=../../../.. //output_gtest//申请//内容//Application_name
-->我在上面提到的命令中做了如下修改:
1)--object-directory ,我在这里添加了我的 .gcda 和 .gcno 文件所在的路径。
2) 我使用的是过时版本的 gcovr,因此我无法生成覆盖率报告,因此我更新了我的 gcovr 版本,下面提到了相同的步骤 link ::
我面临以下代码覆盖问题:
- 没有为 .cpp 文件生成详细的 html 文件 有 .gcno 和 .gcda 对应项。
- gcda 文件在 运行 gcovr 命令后自动删除。
我遵循了以下步骤:
- .gcno 是在我使用 -fprofile-arcs 编译我的代码时生成的 -ftest-coverage 选项并与 -lgcov 选项链接。
- 我运行生成.gcda文件的可执行文件。
- 我将 .gcno 和 .gcda 文件复制到我的位置 源代码。
- I 运行 来自顶层目录的 gcovr 命令(如下所述) 其子目录进一步包含 .cpp 文件。
- 生成了coverage.html,里面有其他的信息 html 报告,但当我打开它们时它们是空白的。
- 我已经在不同的位置尝试了 gcovr 运行,例如 根目录或子目录。
gcno 和 .gcda 文件所在的目录是 :: D:\RTC_Latest_GTEST\RTC_21_11_18\software\output_gtest\Application\contents\Application_name
执行 gcovr 命令的目录是 :: D:\RTC_Latest_GTEST\RTC_21_11_18\software\Application\contents\Application_name
目前我是 运行 来自 Application_name 文件夹的 gcovr 命令。
我 运行 以下命令为我的代码生成深度 html 报告:
python.exe c:\Python27\gcovr --exclude-unreachable-branches -b -r . -d --html --html-details -o coverage.html
预期结果:
- 实际结果将在html中有详细的覆盖率报告 每个具有相应 .gcda 和 .gcno 的 .cpp 文件的格式 对方.
- .gcda 和 .gcno 文件将出现在子目录中 在 运行 gcovr 命令之后。
Generated HTML coverage report
-->.gcda 文件由于 -d 选项而被删除,正如@amon 在评论中所说的那样。
-->下面是我用来生成覆盖率报告的命令,我是 运行 这个来自 Application_name 目录的命令::
gcovr -r .. --html --html-details -o coverage.html --object-directory=../../../.. //output_gtest//申请//内容//Application_name
-->我在上面提到的命令中做了如下修改:
1)--object-directory ,我在这里添加了我的 .gcda 和 .gcno 文件所在的路径。
2) 我使用的是过时版本的 gcovr,因此我无法生成覆盖率报告,因此我更新了我的 gcovr 版本,下面提到了相同的步骤 link ::