`

Linux下gcov和lcov代码覆盖率分析方法

 
阅读更多

gcov是Linux下GCC自带的一个C/C++代码覆盖率分析工具

使用方法:在gcc或者g++后面添加参数 -fprofile-arcs -ftest-coverage

注意:-fprofile-arcs -ftest-coverage必须同时在编译器和链接器上设置,(makefile里面可以加在 CFLAGS 和 LDFLAGS上),如果连接的时候出现undefined reference to `__gcov_init' 错误,则还要加上-lgocv

编译成功后运行编译好的程序,然后退出程序。程序会在当前目录下生成*.gcda文件。

然后使用 gcov *.c 或者gcov *.cpp生成代码覆盖信息,这个时候需要将原始代码文件*.cpp或者*.c放在*.gcda文件一个目录中。

完成后会生成*.c.gcov或者*.cpp.gcov文件,里面包含了代码覆盖信息。

 

由于*.gcov是文字模式的,linux还自带了一个lcov工具,可以帮助我们把文字的信息转换成更直观的图形表格模式。

lcov -d . -t '表格名称' -o '文件名称.info' -b . -c

此时还没完,这个指令只是输出了一个 info 的中间文件,要变成html格式的图形文件还要下面的指令:

genhtml -o 输出目录名 文件名.info

这样才会在输出目录中生成完整的html图形文件,用浏览器在文件目录中打开index文件就能看到了。

转自:http://www.cnblogs.com/spider33/archive/2012/01/12/2320300.html

分享到:
评论

相关推荐

    OpenHarmony覆盖率测试,gcov及lcov的原理和使用简介

    采用覆盖率驱动的验证方式可以量化验证进度,保证验证的完备性。本文主要介绍了openharmony代码和分支覆盖率测试中所使用的工具(即gcov及lcov)的简介、工作原理及使用方法。

    lcov for linux gcov

    lcov for linux gcovlcov for linux gcovlcov for linux gcovlcov for linux gcovlcov for linux gcovlcov for linux gcov

    使用gcov完成代码覆盖率的测试

    使用gcov完成代码覆盖率的测试.Gcov作为gnu/gcc工作组件之一,是一款的免费的代码覆盖率测试工具,而且可以结合lcov生成美观的html的测试报表。本文介绍一些gcov的使用方法,基本原理,一些实际中可能会遇到的问题...

    gcov_lcov 演练工程源码

    一个gcov和lcov使用和练习的源码,仅用来记录自我学习和使用gcov的过程和经验,以便后续开发中可以借鉴。

    gcov命令 测试代码覆盖率

    gcov命令在测试代码覆盖率时,必须使用gcc命令的“-fprofile-arcs”选项和“-ftest-coverage”选项编译C语言文件。 语法格式:gcov [参数] [文件] 常用参数: -a 显示每个基本的信息 -b 输出包含分支概率 -c ...

    afl-cov, 使用afl模糊测试案例生成gcov的代码覆盖率结果.zip

    afl-cov, 使用afl模糊测试案例生成gcov的代码覆盖率结果 AFL Fuzzing Fuzzing Fuzzing Fuzzing简介afl-cov 使用 AFL fuzzer afl-fuzz 生成的测试用例文件为目标二进制文件生成gcov代码覆盖率结果。 为了确定AFL的新...

    使用gcc/gcov生成代码覆盖率报告

    使用gcc/gcov生成代码覆盖率报告-源码

    Linux Kernel GCOV - tool analysis

    详细描述如何使用gcov工具来进行内核的代码覆盖率测试。包括linux-2.4内核和linux-2.6内核。极度推荐!

    CodeCoverageExampleQt:在 Mac OS 上使用 Qt 5 和 GCOV 的代码覆盖率

    在 Mac OS 上使用 Qt 5 和 GCOV 的代码覆盖率 这是如何在 Mac OS 上使用 Qt 5 和 GCOV 生成代码覆盖率的示例。 您可以在上阅读整个教程。

    linux gcov 工具详细介绍

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

    如何使用lcov生成diff代码覆盖率报告

    lcov是建立在gcov之上的一个可以生成html代码覆盖率报告的工具,最近公司开始尝试引入代码覆盖来提高产品质量,lcov很好地满足了我们的需求,虽然lcov本身支持生成代码覆盖率的diff报告,但是跟我们的需求不太符合。...

    gcovtools:gcov(GCCClang 代码覆盖率)解析器和翻译器

    工具 gcovtools提供了各种工具和实用程序来处理从发出的覆盖率数据。快速开始首先,除非您还没有这样做,否则请使用clang --coverage编译您的项目并使用llvm-cov消化输出(有关示例,请参见src目录)。 您应该最终...

    lcov-1.10.tar.gz

    lcov,配合gcov可以进行图形化的代码覆盖率查看

    C/C++覆盖率在NGINX测试中的应用

    左挑右选最后看中了基于GCOV的LCOV作为NGINX测试的覆盖率统计工具。选择LCOV的原因很简单:一是适合GCOV是GCC配套的测试覆盖率工具;二是NGINX是纯C的程序,GCOV对纯C代码的覆盖率展现更加精确;三是LCOV作为GCOV的...

    代码覆盖率分析工具Gcovr.zip

    Gcovr 提供一个工具用来管理 GNU gcov 工具病生成概要代码覆盖率结果。其灵感来自于 Python 的 coverage.py 包。 标签:Gcovr

    gcov-tools-1.0.tar.gz

    该程序是从gcc-4.1.2源代码中抽取出来的与gcov和gcov-dump相关的文件组成的小项目,包含两个工具gcov和gcov-dump。希望能对通过gcc覆盖率测试工具GCOV进行覆盖率测试相关工作的同行有些许的帮助。 其中,gcov的输入...

    Gcov report

    gcov theory, usage, realization process

    pycover:pycover.py脚本的存储库,用于处理gcov代码覆盖率结果

    下文所述的GCC命令行选项用于检测代码,以进行代码覆盖率分析。 这些描述直接来自gcc命令行选项文档。 -fprofile-arcs添加代码,以便检测程序流args。 在执行期间,程序记录每个分支和调用执行了多少次,以及执行或...

    gcov-1.0.tar.gz

    该程序是从gcc-4.1.2源代码中抽取出来的与gcov相关的文件组成的小项目。希望能对通过gcc覆盖率测试工具GCOV进行覆盖率测试相关...gcov根据.c文件相应的.gcda文件和.gcno文件生成相应的.c.gcov并报告覆盖率测试结果。

    Linux平台下代码覆盖率报告自动化输出设计

    轻量级覆盖率测试工具GCOV在使用上具有操作复杂繁琐的弊端.本文所述的设计基于GCOV覆盖率测试的原理,依据shell脚本批处理的特点将各部分操作封装为脚本工具;通过Expect脚本工具对上一操作是否成功进行断言,实现各...

Global site tag (gtag.js) - Google Analytics