linux使用gcov和lcov进行覆盖率统计

     linux下,可以使用gcov和lcov生成覆盖率统计的报告。gcov是 GCC Coverage,随GCC一起发布,配合gcc实现对C/C++代码的语句覆盖和分支覆盖测试。要使用gcov,需要进行以下设置:

     1. 要使用lgcov库,在编译时链接该库;

     2. 源码和测试码编译的编译选项中添加"-fprofile-arcs", "-ftest-coverage"这两个测试编译选项。编译器根据这两个选项,做以下几件事情:
       <1> 在目标文件中划分一段存储区保存统计数据;
       <2> 在每行可执行语句之后插入一段覆盖率统计的代码;

      <3> 添加了gcov的init/flush/exit函数,在调用main之前调用init初始化,在退出时调用flush函数输出数据到gcda(gcc coverage data)文件中。

     3. 在库LIBS选项中添加gcov库(-lgcov)

     4 进行源码和测试码编译后,执行测试码可执行文件。

     5. 执行完成后,会生成相应的gcda文件。

     6. 通过lcov进行数据的收集(这个需要自己安装,搜索下载安装即可),生成覆盖率数据 (lcov -c -o xxx.info -d ./)

     7. 生成html格式的覆盖率报告(genhtml xxx.info -o result).覆盖率报告就会生成在result目录下。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值