概述
gcov是gcc工具链内含的一个选项,用于测试Code Coverage,包含代码行,函数及分支的覆盖率测试。
lcov是LTP对gcov扩展的可视化工具,debian系可直接通过apt-get安装,用于生成html格式的详细报告。
本文仅对gcov+lcov的使用及常用技巧作一个简单介绍。
使用步骤
编译目标代码
测试用户空间代码
在编译时加上两个选项-fprofile-arcs和-ftest-coverage,如下
gcc -fprofile-arcs -ftest-coverage -o test test.c
编译生成两个文件,可执行目标文件test和test.gcno,可以看到test文件明显大了许多,在此不论述编译器具体做了什么,有兴趣的可以查看gcov的原理。
root:~# gcc -o test test.croot:~# ls -l test-rwxr-xr-x 1 root root 7335 Dec 19 23:12 testroot:~# gcc -fprofile-arcs -ftest-coverage -o test test.croot:~# ls -l test

本文介绍了gcov和lcov的用途,gcov是GCC工具链中的代码覆盖率测试工具,而lcov是其可视化扩展。文章详细阐述了如何在用户空间和内核空间使用gcov进行编译、运行测试以及生成报告。还分享了一些使用技巧,如整合不同测试阶段的报告、处理match错误、自定义覆盖率阈值和解决链接错误问题。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



