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,如需转载请自行联系原作者

相关文章
|
移动开发 NoSQL 网络协议
掌握GDB调试工具,轻松排除bug(下)
掌握GDB调试工具,轻松排除bug
|
7月前
|
弹性计算 Shell 开发工具
自动化代码质量检查
【4月更文挑战第30天】
40 0
|
存储 监控 NoSQL
|
程序员 测试技术 数据库
如何编写高质量的缺陷报告
本文介绍一些技巧和实践方法,来帮助测试人员编写高质量的缺陷报告。因为不同的项目团队对测试人员有不同的期望,读者在采纳这些基本实践时,需要做一些因地制宜的变化。
255 0
|
测试技术
sonar代码扫描 覆盖率为0 单元测试不显示
sonar代码扫描 覆盖率为0 单元测试不显示
sonar代码扫描 覆盖率为0 单元测试不显示
|
jenkins Java Linux
SonarScanner有效检查代码质量
sonar 是一个用于代码质量管理的开放平台,支持Windows、Linux、Mac。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具以及持续集成工具,是通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便的不同规模和种类的工程进行代码质量管理。
262 0
SonarScanner有效检查代码质量
|
Java jenkins 持续交付
SonarScanner 整合 SonarQube 代码质量检查完美方案
本篇内容记录了对SonarScanner、SonarQube 的代码检查。
339 0
SonarScanner 整合 SonarQube 代码质量检查完美方案
|
搜索推荐 IDE 测试技术
如何验证程序是否完成,测试以及修正Bug?
在日常中,我们码代码都是按照需求来的,为了验证我们的工作成果是否符合项目的需求,那么验证程序是否完成、测试以及修复bug就成了我们工作中非常重要的流程。
|
测试技术 Android开发