- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《GCC Code Coverage Tools代码覆盖率测试工具》.doc
GCC Code Coverage Tools代码覆盖率测试工具
daizh@
什么是gcov
gcov是伴随着gcc一起发布的代码覆盖率测试工具。通过gcov配合gcc对你的程序进行分析,帮助你发现程序中未测试的代码并对代码进行最有效的优化。gcov可以与其他分析工具一起使用,如gprof,它可以用来评估你的代码中那部分消耗的CPU时间最多。
分析工具可以帮助你分析你的代码的性能,使用gcov或者gprof能够获得最基本的性能数据,如:
每行代码的执行频率
那行代码被实际执行过
每个代码段的执行CPU时间
一旦你知道了以上这些信息你就可以对你的代码进行更好的优化,gcov能够让你清楚地知道那些地方需要优化。
软件开发者可以在测试用例中增加覆盖率测试来提高发布软件的质量,和清楚地知道测试用例对程序代码覆盖情况,还有哪些测试用例需要添加来更好的保障产品质量。
如果你计划使用gcov来测试你的代码那么在代码编译的时候就不能打开编译器的优化选项,因为优化后的会去掉符号信息甚至对代码结构进行调整优化,这样就没有足够的信息去对应源码,例如那些是CPU开销最大的热点代码。同样,因为gcov是按行(最低粒度)累积统计的,所以它适合每行只有一条语句的编程风格。假如你的代码中存在使用复杂的宏来展开循环或者其他控制结构,那么他的统计信息看其来就没那么有用了,因为它只会统计宏调用的地方,而不是统计展开后的代码,最好的办法就是用内联函数代替这些复杂的宏。
gcov将会生成一个名为source.gcov的logfile文件来保存source.c文件每行的被执行的次数,你可以使用这个logfile配合gprof来协助你对你程序进行性能微调,gprof生成时间信息能够配合gcov生成的数据一起使用。
gcov只能和gcc配合一起工作,它将不与其它任何分析工具或者测试覆盖率的机制相兼容。
如何使用gcov
gcov [options] sourcefiles
gcov accepts the following options:
-h
--help
Display help about using gcov (on the standard output), and exit without doing any further processing.
-v
--version
Display the gcov version number (on the standard output), and exit without doing any further processing.
-a
--all-blocks
Write individual execution counts for every basic block. Normally gcov outputs execution counts only for the main blocks of a line. With this option you can determine if blocks within a single line are not being executed.
-b
--branch-probabilities
Write branch frequencies to the output file, and write branch summary info to the standard output. This option allows you to see how often each branch in your program was taken. Unconditional branches will not be shown, unless the -u option is given.
-c
--branch-counts
Write branch frequencies as the number of branches taken, rather than the percentage of branches taken.
-n
--no-output
Do not create the gcov output file.
-l
--long-file-names
Create long file names for included source files. For example, if the header file x.h contains code, and was included in the file a.c, then running gcov on the file a.c will produce an outp
您可能关注的文档
- 《GB_1495-2016汽车加速行驶车外噪声限值及测量方法》.doc
- 《GB_T 9468-2016灯具分部光度测量的一般要求》.pdf
- 《GB_T_16293_2016空气浮游菌测试方法》.pdf
- 《GB/T2888-2016风机和罗茨风机噪声测量方法》.pdf
- 《GDYQ-1200SC食品砷快速测定仪》.doc
- 《GDYQ-2016S植物油过氧值快速测定仪》.doc
- 《GDYQ-201SX啤酒甲醛快速测定仪》.doc
- 《GDYS-101SB色度测定仪》.doc
- 《Genarts Particle Illusion 1.02 For AE幻影粒子插件(支持CS3至CS5.5)安装破解方法》.pdf
- 《GJB9001B-2016标准培训测试题》.doc
最近下载
- 2024年湖南工艺美术职业学院单招职业技能测试题库及答案(各地真题).docx VIP
- 每周工作4小时—蒂莫里.费里斯.pdf
- 2024年苏州工业职业技术学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析.docx
- 陕旅版四年级下册英语教案完整版(最全).doc
- 北师大版2024-2025学年一年级数学下册教学工作计划(及进度表).docx
- 2024年湖南科技职业学院高职单招职业技能测验历年参考题库(频考版)含答案解析.docx
- 动画分镜设计.ppt VIP
- 2024年苏州工业职业技术学院单招职业技能测试题库及答案解析.docx
- 大学四级英语单词.doc VIP
- FUNAC发那科 机器人系统高级编程Karel中文版.pdf
文档评论(0)