コード計測 for VC

はじめに

「コード計測 for VC」は、VisualStudioのC/C++で作成したプログラムのコードカバレッジを計測するためのツールです。 指定したコマンドを実行し、実行中に処理されたコードと全ステップ数を計測することができます。
「コード計測 for VC」には、以下のような特徴があります。

※動作確認は、Windows 2000/XP/Vista/7、VisualStudio 2005/2008で行っていますが、VisualStudio 2003/2010でも動作すると思います。

※計測できるコードカバレッジはC0カバレッジになります。C1やC2を計測することはできません。

インストール

インストールは不要です。解凍したフォルダにある「vccovui.exe」を起動してください。「vccovcmd.exe」はコマンドライン版です。

アンインストールはフォルダごと削除してください。レジストリなどは使用していません。

使い方

準備するもの

コードカバレッジを計測するためには、以下の2つを準備する必要があります。

※.pdbファイルは必ず測定するプログラムをビルドしたときに作成されたものを使用してください。測定するプログラムより古い.pdb(あるいは新しい.pdb)は使用できません。

※DLLも測定する場合は、測定するDLLの.pdbファイルも必要です。

※.pdbファイルの場所について
ビルドした環境で測定する場合、.pdbファイルは作成された場所から移動しないかプログラムと同じフォルダにおきます。詳しくは「FAQ」を参照してください。

測定手順

※ソースファイルがビルド時のパスにない場合は、ソースファイルは表示されず各行の状態のみ表示されます。

各機能の説明

集計結果一覧ウィンドウ

集計結果ウィンドウ

出力ウィンドウ

出力ウィンドウに表示されるおもなメッセージとその意味は以下のとおりです。

ソース表示ダイアログ

※ソースファイルがビルド時のパスにない場合は、ソースファイルを選択するダイアログボックスが表示されます。キャンセルを選択すると、ソースファイルは表示されず各行の状態のみ表示されます。

※カバレッジの測定後ソースファイルを修正した場合、各行の色が正しく表示されません。最新のソースファイルに対し、測定時の行数で色を付けているためです。

コマンドの実行ダイアログ

設定ダイアログ

※集計結果を他のPCで参照するには、「集計結果の保存先フォルダ」にある.logファイルをコピーしてください。

コマンドライン版

コマンドライン版を使用して、集計をすることも可能です。コマンドプロンプトから解凍したフォルダにある「vccovcmd.exe」を起動してください。

コマンドライン版のオプションは、起動すると表示される説明を参照してください。集計後、「vccovcmd.exe」があるフォルダに.logファイルが生成されますので、「集計結果の保存先フォルダ」に移動して「vccovui.exe」を使って結果を表示してください。

FAQ

集計結果ウィンドウに何も表示されない

以下を確認してください。

上記を確認しても解決しない場合は「連絡先」まで連絡ください。

集計結果一覧ウィンドウに何も表示されない

以下の設定を確認して、存在するフォルダになっていることを確認してください。

集計結果を見比べられない

2つ以上の集計結果を見比べたい場合は、「コード計測 for VC」を複数起動してください。

2つ以上の集計結果をまとめて集計したい場合は、集計結果一覧ウィンドウでCtrlキーを押しながら複数の項目を選択してください。

集計結果に不要なものが表示される

初期設定では、MFCなどVisualStudio、Windows SDKが提供するソースファイルが表示されます。以下の設定を行って集計対象から外してください。

※たとえば、以下の2行を記述するといいです。
C:\Program Files\Microsoft SDKs
C:\Program Files\Microsoft Visual Studio

集計結果に一部の結果が表示されない

現在のバージョンでは、以下の集計は行えません。

ソース表示の色付けがおかしい

カバレッジの測定後ソースファイルを修正した場合、各行の色が正しく表示されません。最新のソースファイルに対し、測定時の行数で色を付けているためです。
ソースファイルを修正してからもソース表示の色付けを確認したい場合は、「集計結果ウィンドウ」を参照してHTMLに保存してください。
ソースファイルを修正していないのに各行の色が正しく表示されない場合は、「連絡先」まで連絡ください。

ライセンス、免責

連絡先

不具合、要望などはお気軽に連絡ください。

haniwa33@yahoo.co.jp