在 .gcno 文件中找不到 .cpp.gcov 的条目,跳过文件
cannot find an entry for .cpp.gcov in .gcno file, skipping file
g++ (Ubuntu 9.4.0-1ubuntu1~18.04) 9.4.0
gcov (Ubuntu 9.4.0-1ubuntu1~18.04) 9.4.0
lcov: LCOV version 1.13
- g++ -g -O0 --coverage main.cpp -o main
- ./main
- lcov -t "主要" -o main.info -c -d 。 --gcov-工具 gcov-9
输出:
Capturing coverage data from .
Found gcov version: 9.4.0
Scanning . for .gcda files ...
Found 1 data files in .
Processing main.gcda
geninfo: WARNING: /home/home/main.gcno: Overlong record at end of file!
geninfo: WARNING: cannot find an entry for main.cpp.gcov in .gcno file, skipping file!
Finished .info-file creation
- genhtml -o 报告 main.info
输出:
genhtml: ERROR: no valid records found in tracefile main.info
到目前为止,我还没有设法利用 lcov。但是我找到了适合我的解决方案。
- 安装
gcovr
https://github.com/gcovr/gcovr
- 使用
-fprofile-arcs -ftest-coverage -g -O0
构建您的应用程序
- Link gcov 到你的 executable/libs (
-lgcov
)
- 使用
gcov-9 -b -l -p -c *.gcno
命令创建 .gcov 文件。 (如果您使用的是 cmake,则需要 运行 通过所有 CMakeFiles/{all subfolders}.dir/src/* 目录递归执行此命令)
gcovr {rootDir} -r {sourceDir} -g -k --html --html-details -o tp.html
rootDir - 您可以从中访问 .gcov 的目录。
sourceDir - tp.html 报告
中的来源
g++ (Ubuntu 9.4.0-1ubuntu1~18.04) 9.4.0
gcov (Ubuntu 9.4.0-1ubuntu1~18.04) 9.4.0
lcov: LCOV version 1.13
- g++ -g -O0 --coverage main.cpp -o main
- ./main
- lcov -t "主要" -o main.info -c -d 。 --gcov-工具 gcov-9
输出:
Capturing coverage data from .
Found gcov version: 9.4.0
Scanning . for .gcda files ...
Found 1 data files in .
Processing main.gcda
geninfo: WARNING: /home/home/main.gcno: Overlong record at end of file!
geninfo: WARNING: cannot find an entry for main.cpp.gcov in .gcno file, skipping file!
Finished .info-file creation
- genhtml -o 报告 main.info
输出:
genhtml: ERROR: no valid records found in tracefile main.info
到目前为止,我还没有设法利用 lcov。但是我找到了适合我的解决方案。
- 安装
gcovr
https://github.com/gcovr/gcovr - 使用
-fprofile-arcs -ftest-coverage -g -O0
构建您的应用程序
- Link gcov 到你的 executable/libs (
-lgcov
) - 使用
gcov-9 -b -l -p -c *.gcno
命令创建 .gcov 文件。 (如果您使用的是 cmake,则需要 运行 通过所有 CMakeFiles/{all subfolders}.dir/src/* 目录递归执行此命令) gcovr {rootDir} -r {sourceDir} -g -k --html --html-details -o tp.html
rootDir - 您可以从中访问 .gcov 的目录。 sourceDir - tp.html 报告
中的来源