CoverageValidator代码覆盖率检查

来源:互联网 发布:c语言文件输入输出 编辑:程序博客网 时间:2024/04/30 03:33

陈国栋

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