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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章