CoverageValidator代码覆盖率检查

简介:

陈国栋

2009/1/11

1. 基本原理

Coverage Validator是只利用映射文件,不修改源代码,自动对目标文件插桩,统计每行代码的执行次数的软件。

目前,它只支持Windows平台。它能支持的调试信息格式参见下面描述:

Coverage Validator can understand debugging information in the following formats: 
· Microsoft Program Database (PDB)  
· Borland Turbo Debugger System (TDS)  
· CodeView NB10  
· COFF

2. 使用方法

1、 设置工程(exe)生成映射文件。

clip_image002

2、 如果检查的是CppUnit工程的代码覆盖率,需要把Testrunnerd.dll文件复制到可执行文件所在目录。

3、 如果运行中出现注册表无法写入的问题(WinXP一般没有问题):

clip_image004

如果用的是Vista操作系统,那么可以以管理员方式启动程序即可。

clip_image006

4、 点击“启动应用程序”按钮即可通过Coverage Validator启动应用程序,它自动根据Map文件对应用程序插桩,统计代码覆盖率(可以统计出每一行代码的执行次数)。

clip_image008

具体来说,在向导的第一步,选择待运行的应用程序:

clip_image010

一路Next,看到如下界面:

clip_image012

点击“Start Application”,弹出如下对话框:

clip_image014

点击”Launch Application”,即可启动应用程序并开始统计代码覆盖率。

3. 使用技巧

(1)左下角的Refresh按钮可以刷新界面,同时界面也在周期性实时刷新(Summary页面可以设置这个周期。)

clip_image016

(2)Coverage页面选中一个文件,右边会显示文件的具体内容和每行代码的执行次数(蓝色数字)。红色代码是没有执行到的。

蓝绿色表示该函数/文件被完全覆盖。黄色表示部分覆盖。没有颜色的表示它是unhook line.

clip_image018

注:CV是Software Verification Limited公司的产品,该公司还有一系列类似产品,如PV,检查代码执行效率。

公司网址:http://www.softwareverify.com
















本文转sinojelly51CTO博客,原文链接:http://blog.51cto.com/sinojelly/214391,如需转载请自行联系原作者

相关文章
|
5月前
|
移动开发 NoSQL 网络协议
|
5月前
|
存储 监控 NoSQL
|
jenkins Java Linux
SonarScanner有效检查代码质量
sonar 是一个用于代码质量管理的开放平台,支持Windows、Linux、Mac。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具以及持续集成工具,是通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便的不同规模和种类的工程进行代码质量管理。
206 0
SonarScanner有效检查代码质量
|
Java jenkins 持续交付
SonarScanner 整合 SonarQube 代码质量检查完美方案
本篇内容记录了对SonarScanner、SonarQube 的代码检查。
241 0
SonarScanner 整合 SonarQube 代码质量检查完美方案
|
测试技术 数据处理
pytest(9)-标记用例(指定执行、跳过用例、预期失败)
pytest中提供的mark模块,可以实现很多功能,如: 1. 标记用例,即打标签 2. skip、skipif标记跳过,skip跳过当前用例,skipif符合情况则跳过当前用例 3. xfail标记为预期失败
pytest(9)-标记用例(指定执行、跳过用例、预期失败)
|
搜索推荐 IDE 测试技术
如何验证程序是否完成,测试以及修正Bug?
在日常中,我们码代码都是按照需求来的,为了验证我们的工作成果是否符合项目的需求,那么验证程序是否完成、测试以及修复bug就成了我们工作中非常重要的流程。
|
安全 网络协议
CVE-2020-8617:检查TSIG有效性的代码逻辑错误可能被用于触发tsig.c中的断言失败
2020年5月19日,ISC发布了BIND的一个新的漏洞和补丁。在受到攻击时,新版本的BIND服务器可以触发tsig.c中的断言失败,而检测到服务器不一致的状态并强制退出,进而保护服务器。
|
测试技术 Android开发