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 使用心得的更多相关文章

  1. 嵌入式平台组件白盒测试gcov、lcov和genhtml 使用指导

    在嵌入式平台上使用了gtest白盒测试工具,覆盖了被测函数,但是不知道自己测试的效果如何,测试行覆盖率.函数覆盖率,分支覆盖率的数据. 便开始研究gcov这个代码覆盖率工具能否使用,来检查白盒测试的效 ...

  2. 【转】gcov lcov 覆盖c/c++项目入门

    原文: http://www.cnblogs.com/turtle-fly/archive/2013/01/09/2851474.html ------------------------------ ...

  3. GCOV&LCOV&GCOVR入门

    索引 一.概述 二.关于gcov的安装 三.代码覆盖率测试(以GCOV为例) 1.编译源代码 2.运行可执行程序 3.通过gcov指令生成代码覆盖率报告 四.生成更全面.直观的代码覆盖率报告 1.LC ...

  4. Eclipse C++,Cygwin 64,gcov,lcov 单体&覆盖率测试环境搭建笔记

    1.下载并安装 Eclipse IDE for C/C++ Developers https://eclipse.org/downloads/packages/eclipse-ide-cc-devel ...

  5. 代码覆盖工具(gcov、lcov)的使用

    一.安装 gcov:是随gcc一起发布的,并不需要独立安装:lcov:其他博客说是随ltp发布的,结果下载下ltp之后编译了10多分钟,最后也没见lcov,最后到sourceforge下载了lcov单 ...

  6. 覆盖率测试工具gcov的前端工具_LCOV

    http://my.oschina.net/alphajay/blog/33725 1.Gcov是进行代码运行的覆盖率统计的工具,它随着gcc的发布一起发布的,它的使用也很简单,需要在编译和链接的时候 ...

  7. GCOV 使用用例

      1.GCOV查看arm-linux代码覆盖率 一.           关于gcov工具 gcov伴随gcc 发布.gcc编译加入-fprofile-arcs -ftest-coverage 参数 ...

  8. Jenkins中集成Gcov代码覆盖率报告

    最近终于把gcov代码覆盖报告集成到jenkins中了,总算是完成工作,写篇博客总结下. 我循序渐进地用了三个工具:gcov, lcov, gcovr 这三个工具原理(其实gcovr依赖于GNU的gc ...

  9. 覆盖率測试工具gcov的前端工具_LCOV_简单介绍

    1.Gcov是进行代码运行的覆盖率统计的工具.它随着gcc的公布一起公布的,它的使用也非常easy,须要在编译和链接的时候加上-fprofile-arcs -ftest-coverage生成二进制文件 ...

随机推荐

  1. php 生成下载连接

    public function showdownload(){ $file_url=$_GET['url']; $new_name='激活码'; if(!isset($file_url)||trim( ...

  2. ios 动画 创建一个UIImageView并将其属性设置animationImages为UIImages 的数组

    NSArray *animationFrames = [NSArray arrayWithObjects: [UIImage imageWithName:@"image1.png" ...

  3. 频繁加载、删除swf造成flash崩溃解决办法

    最近在项目中遇到flash崩溃问题,经分析,都是在swfobject.embedSWF这一步卡死,页面及flash均无反应.   造成此问题的场景是,在同一根节点上频繁清空节点.调用swfobject ...

  4. spring mvc中的@PathVariable

    spring mvc中的@PathVariable是用来获得请求url中的动态参数的,十分方便,复习下: @Controller public class TestController { @Requ ...

  5. DNN自适应

  6. 经典的css reset代码 (reset.css)

    <style> html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, ...

  7. html/css背景图片自适应分辨率大小

    <style type='text/css'> .bgbox { position: absolute; left: 0; top: 0; width: 100%; overflow: h ...

  8. mysql中子查询更新,得用别名表

    通过查出最大id,来更新记录 update order set status = 'xx' where id in (select v.id from (select max(id) id from ...

  9. CSS选择器(一)

    一.CSS 元素选择器 最常见的 CSS 选择器是元素选择器.换句话说,文档的元素就是最基本的选择器. 如果设置 HTML 的样式,选择器通常将是某个 HTML 元素,比如 p.h1.em.a,甚至可 ...

  10. VC2010编译时提示:转换到 COFF 期间失败: 文件无效或损坏

    有时候新安装好VS2010后编译时就提示上述错误,罗列一下从网上查找到的几种解决方案: 方案1: 点击“项目”-->“属性”--> “清单工具”, 然后选择"输入和输出’--&g ...