(转)gcov、lcov与genhtml 使用心得
gcc是linux平台下的C、C++ 编译器
gcov是配合gcc产生覆盖信息报告的工具;
lcov是将gcov产生的报告信息,以更直观的方式显示出来工具
基本的使用方法分为4个阶段:
(一)、gcc编译:产生插装后的目标文件test、gcov结点文件 test.gcno
#gcc -fprofile-arcs -ftest-coverage -o test test.c
# ls
test test.c test.gcno
说明:参数 fprofile-arcs 和 ftest-coverage 告诉gcc编译器:(1)在目标文件test 插装跟踪代码;(2)生成供gcov使用 test.gcno [gcov node 文件]。
因此,这里的生成的目标文件比正常编译的文件大。
(二)、运行目标文件:收集运行覆盖信息 test.gcda
# ./test
Success -- 这里是运行结果。
# ls
test test.c test.gcno test.gcda
这里test.gcda运行结果,
(三)、gcov产生报告信息: test.c.gcov
#gcov test.c
File 'test.c'
Lines executed: 87.50% of 8
test.c: creating 'test.c.gcov'
#ls
test test.c test.c.gcov test.gcda test.gcno
(四)、lcov:格式化test.c.gcov ,输出到 test.info文件
#lcov -d . -t 'test' -o 'test.info' -b . -c
说明:
-d . :参数 d指路径, "." 指当前路径
-t "name" :指目标文件,这里 是 test
-o "filename" :输出格式化后的信息文件名
(五)、genhtml:根据信息文件(.info)产生html 文档,输出到一个文件夹中
#genhtml -o result test.info
说明: -o directory :参数o (output)后面跟路径名称,在当前目录下创建指定目录,本例中是result
至此: 可以在result目录中打开index.html 浏览覆盖信息
(转)gcov、lcov与genhtml 使用心得的更多相关文章
- 嵌入式平台组件白盒测试gcov、lcov和genhtml 使用指导
在嵌入式平台上使用了gtest白盒测试工具,覆盖了被测函数,但是不知道自己测试的效果如何,测试行覆盖率.函数覆盖率,分支覆盖率的数据. 便开始研究gcov这个代码覆盖率工具能否使用,来检查白盒测试的效 ...
- 【转】gcov lcov 覆盖c/c++项目入门
原文: http://www.cnblogs.com/turtle-fly/archive/2013/01/09/2851474.html ------------------------------ ...
- GCOV&LCOV&GCOVR入门
索引 一.概述 二.关于gcov的安装 三.代码覆盖率测试(以GCOV为例) 1.编译源代码 2.运行可执行程序 3.通过gcov指令生成代码覆盖率报告 四.生成更全面.直观的代码覆盖率报告 1.LC ...
- Eclipse C++,Cygwin 64,gcov,lcov 单体&覆盖率测试环境搭建笔记
1.下载并安装 Eclipse IDE for C/C++ Developers https://eclipse.org/downloads/packages/eclipse-ide-cc-devel ...
- 代码覆盖工具(gcov、lcov)的使用
一.安装 gcov:是随gcc一起发布的,并不需要独立安装:lcov:其他博客说是随ltp发布的,结果下载下ltp之后编译了10多分钟,最后也没见lcov,最后到sourceforge下载了lcov单 ...
- 覆盖率测试工具gcov的前端工具_LCOV
http://my.oschina.net/alphajay/blog/33725 1.Gcov是进行代码运行的覆盖率统计的工具,它随着gcc的发布一起发布的,它的使用也很简单,需要在编译和链接的时候 ...
- GCOV 使用用例
1.GCOV查看arm-linux代码覆盖率 一. 关于gcov工具 gcov伴随gcc 发布.gcc编译加入-fprofile-arcs -ftest-coverage 参数 ...
- Jenkins中集成Gcov代码覆盖率报告
最近终于把gcov代码覆盖报告集成到jenkins中了,总算是完成工作,写篇博客总结下. 我循序渐进地用了三个工具:gcov, lcov, gcovr 这三个工具原理(其实gcovr依赖于GNU的gc ...
- 覆盖率測试工具gcov的前端工具_LCOV_简单介绍
1.Gcov是进行代码运行的覆盖率统计的工具.它随着gcc的公布一起公布的,它的使用也非常easy,须要在编译和链接的时候加上-fprofile-arcs -ftest-coverage生成二进制文件 ...
随机推荐
- BlockingQueue的使用 http://www.cnblogs.com/liuling/p/2013-8-20-01.html
BlockingQueue的使用 本例介绍一个特殊的队列:BlockingQueue,如果BlockQueue 是空的,从BlockingQueue取东西的操作将会被阻断进入等待状态,直到Blocki ...
- pycharm中不能安装bs4的解决方案
首先:什么Beautiful Soup? Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.B ...
- C语言基础知识【简介】
C 简介1.关于 CC 语言是为了编写 UNIX 操作系统而被发明的.C 语言是以 B 语言为基础的,B 语言大概是在 1970 年被引进的.C 语言标准是于 1988 年由美国国家标准协会(ANSI ...
- LCD驱动程序(二)
上节我们主要是对fb_info结构体的配置,对fb_info结构体的配置主要分为一下步骤: static int lcd_init(void){ /* 1. 分配一个fb_info */ s3c_lc ...
- EhCache 集群 配置(RMI方式)
这里先说明下环境:JDK1.6.ehcache-core-2.1.0.jar.Tomcat6.Spring3.0.2.使用的是RMI方式配置集群的,这里先吐槽下遇到的情况,在搜相关知识的时候发现到处都 ...
- intellij idea pycharm phpstorm webstorm 使用 FiraCode 作为编程字体,更新后字符乱码问题解决
先说使用下载 传送门 https://pan.baidu.com/s/1OI-novVYy-C74HIUfr9E6w windows: 1.下载后打开ttf文件夹,选择所有右键安装. 2.或者使用ch ...
- SQLite支持的并发访问数
SQLite objects created in a thread can only be used in that same thread.The object was created in th ...
- 【python】-- Redis简介、命令、示例
Redis简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化 ...
- VOFM 例程
SAP ERP 实施中,经常会用到例程开发(TCODE:VOFM).这个开发目前我用到的是影响SD和MM的定价过程.创建例程需要ACCESS KEY,这个可以通过申请得到,创建后例程会被包含在一个RE ...
- shell基础part2
shell基础 一.bash中的变量 1.变量的定义:变量是计算机的内存单元,其中存放的值是可以改变的. 2.变量的设定规则:变量名不能以数字开头:变量的等号两边不能有空格,变量的值如果想有空格必须用 ...