`
gaofen100
  • 浏览: 1188778 次
文章分类
社区版块
存档分类
最新评论

使用gcov提高代码测试覆盖率

 
阅读更多

参考:《Linux® Debugging and Performance Tuning: Tips and Techniques》 chapter 2

1. 待测代码如下:


2. 编译时使用参数-fprofile-arcs -ftest-coverage


3. 开始测试,使用不同的输入,然后依次用gcov命令查看测试覆盖率


查看产生的sample.c.gcov文件,发现还有一些代码没有覆盖。


下面使用gdb帮助产生第31行的case,


查看覆盖率,


查看文件sample.c.gcov,


只剩下最后的38行没有测到了,继续使用gdb辅助测试,


查看覆盖率,


查看文件sample.c.gcov,


至此,所有代码已被测试覆盖。


gcov可以参考http://gcc.gnu.org/onlinedocs/gcc/Gcov.html#Gcov

分享到:
评论

相关推荐

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

    使用gcov完成代码覆盖率的测试.Gcov作为gnu/gcc工作组件之一,是一款的免费的代码覆盖率测试工具,而且可以结合lcov生成美观的html的测试报表。本文介绍一些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的新...

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

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

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

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

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

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

    Gcov report

    gcov theory, usage, realization process

    gcov-1.0.tar.gz

    希望能对通过gcc覆盖率测试工具GCOV进行覆盖率测试相关工作的同行有些许的帮助。 gcov的输入是一个.c文件,前提是已经编译生成了.gcno文件并运行可执行程序生成.gcda文件;gcov根据.c文件相应的.gcda文件和.gcno文件...

    gcov-tools-1.0.tar.gz

    希望能对通过gcc覆盖率测试工具GCOV进行覆盖率测试相关工作的同行有些许的帮助。 其中,gcov的输入是一个.c文件,前提是已经编译生成了.gcno文件并运行可执行程序生成.gcda文件;gcov根据.c文件相应的.gcda文件和....

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

    例如,生成一个 HTML 覆盖率报告并将其通过管道传输到coverage.html : gcovtools report --format html *.gcov > coverage.html 同样使用递归目录搜索: gcovtools report --format html ../some/dir -r > cove

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

    描述 该存储库包含有关pycover.py脚本的信息,该脚本用于处理基于gcov的代码覆盖结果。 此文件中的代码仅了解gcc-11 gcov文件... 数据可用于配置文件导向的优化(-fbranch-probability)或测试覆盖率分析(-ftest-cov

    Linux Kernel GCOV - tool analysis

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

    leetcode-cpp:使用 Bazel 构建,googletest测试,gcov测试覆盖率。安心刷LeetCode

    项目使用 Bazel 构建的 C++ 刷题项目,通过几个简单步骤即可完成编译、测试,提供工具用于代码格式化、覆盖率报告、持续集成,还有额外的工具函数辅助创建测试用例。 如果你正使用 C++ 刷 LeetCode,但苦于每次写完...

    gcov-dump-1.0.tar.gz

    希望能对通过gcc覆盖率测试工具GCOV进行覆盖率测试相关工作的同行有些许的帮助。 gcov-dump是一个dump程序,输入是一个gcov的文件,或者.gcda,即gcov的data文件;或者.gcno,即gcov的note文件。

    gcov dumphandler

    使用gcov获取程序执行路径时,有些程序因异常等错误而结束,常规的gcov获取不到程序的执行路径。使用我们这个插件就可以获取。

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

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

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

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

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

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

    收集Android程序测试代码覆盖率

    代码覆盖率的作用主要是用来查看测试用例执行完毕后,有哪些代码尚未覆盖到,未覆盖到的代码通常意味着未覆盖到的功能或场景,对于Andriod程序来说,好像国内聊到这个领域的文章不多,这里记录下来供大家参考。...

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

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

Global site tag (gtag.js) - Google Analytics