用gcc编译的时候加上-fprofile-arcs和 -ftest-coverage 选项,链接的时候加上-lgcov
执行程序之后,会产生*.gcno和*.gcda文件
*.gcno 是由加了-ftest-coverage参数后编译产生的,它包含了重建基本块图和响应的块的源码的行号的信息。
*.gcda是在运行结束加了-fprofile-arcs参数后编译生成的文件所产生的,它包含了弧跳变的次数和其他的概要信息
lcov --directory . --capture --output-file all.info 搜集当前目录及其子目录下面所有的代码覆盖率信息到文件app.info
或者简写为:lcov -d . -c -o all.info
lcov --remove all.info 'dir1/*' 'dir2/*' 'dir3/file1' -o result.info 移除指定目录下的代码覆盖率信息
lcov --extract all.info '*/src/*' '*/lib/*' -o result.info 只要src和lib目录下的覆盖率信息
genhtml -o results result.info 将代码覆盖率信息转为html文件格式,存放到results目录下