代码覆盖率测试工具:gcov+lcov

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

概述

gcov是gcc工具链内含的一个选项,用于测试Code Coverage,包含代码行,函数及分支的覆盖率测试。 
lcov是LTP对gcov扩展的可视化工具,debian系可直接通过apt-get安装,用于生成html格式的详细报告。 
本文仅对gcov+lcov的使用及常用技巧作一个简单介绍。

使用步骤

编译目标代码

测试用户空间代码

在编译时加上两个选项-fprofile-arcs-ftest-coverage,如下

 
 
 
  1. gcc -fprofile-arcs -ftest-coverage -o test test.c

编译生成两个文件,可执行目标文件test和test.gcno,可以看到test文件明显大了许多,在此不论述编译器具体做了什么,有兴趣的可以查看gcov的原理。

 
 
 
  1. root:~# gcc -o test test.c
  2. root:~# ls -l test
  3. -rwxr-xr-x 1 root root 7335 Dec 19 23:12 test
  4. root:~# gcc -fprofile-arcs -ftest-coverage -o test test.c
  5. root:~# ls -l test
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值