我在代码覆盖率方面面临以下问题:
有.gcno和.gcda对应项。
我遵循以下步骤:
当我使用-fprofile-arcs编译代码时,生成
-ftest-coverage选项并与-lgcov选项链接。
源代码。
其中包含进一步包含.cpp文件的子目录。
html报告,但是当我打开它们时它们是空白的。
根目录或子目录。
.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
预期结果:
具有相应的.gcda和.gcno的每个.cpp文件的格式
对应。
运行gcovr命令后。
Generated HTML coverage report
最佳答案
->。gcda文件由于-d选项而被删除,如@amon在注释中所述。
->下面是我用于生成覆盖率报告的命令,我正在从Application_name目录运行此命令:
gcovr -r .. --html --html-details -o coverage.html --object-directory = .. / .. / .. / .. // output_gtest // Application // contents // Application_name
->我在上述命令中进行了以下修改:
1)-object-directory,这里添加了.gcda和.gcno文件的路径。
2)我使用的是gcovr的过时版本,因此无法生成覆盖率报告,因此我更新了gcovr的版本,以下链接中提到了相同步骤:
https://gcovr.com/installation.html