Linux平台代码覆盖率测试工具GCOV简介

Gcov是GCC提供的一款用于代码覆盖率测试的工具,它可以帮助开发者了解程序中哪些代码被执行以及执行频率。通过三个阶段(编译、收集信息、报告)来使用gcov,可以实现语句覆盖和分支覆盖的测试。gcov还提供了诸如-all-blocks、-branch-probabilities等选项,以获取更详细的执行信息。
本博客 http://blog.youkuaiyun.com/livelylittlefish 贴出作者(三二一@小鱼)相关研究、学习内容所做的笔记,欢迎广大朋友指正!

Content

 

1. gcov是什么?

2. gcov能做什么?

3. 如何使用gcov

3.1 使用gcov3个阶段

(1) 编译

(2) 收集信息

(3) 报告

3.2 gcov的选项

(1) -a, --all-blocks

(2) -b, --branch-probabilities

(3) -c, --branch-counts

4. 小结

 

1. gcov是什么?


  • Gcov is GCC Coverage
  • 是一个测试代码覆盖率的工具
  • 是一个命令行方式的控制台程序
  • 伴随GCC发布配合GCC共同实现对C/C++文件的语句覆盖和分支覆盖测试
  • 与程序概要分析工具(profiling tool,例如gprof)一起工作,可以估计程序中哪一段代码最耗时;

注:程序概要分析工具是分析代码性能的工具。

 

2. gcov能做什么?

 

gcov可以统计

  • 每一行代码的执行频率
  • 实际上哪些代码确实被执行了
  • 每一段代码(section code)的耗时(执行时间)

因此,gcov可以帮你优化代码,当然这个优化动作还是应该有开发者完成。

 

3. 如何使用gcov

 

笔者也以gcovmanual页自带的例子为例,代码(没有做任何改动)如下。

 

filename: test.c



3.1 使用gcov3个阶段

 

(1) 编译

 

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

# ls

test  test.c 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值