現在、コードのカバレッジを調べています。それを表示するには .coverage ファイルが必要です。このリンクからネイティブ C++ のカバレッジ ファイルを取得する方法を見つけました。
.coverage ファイルを出力するには、次の手順に従います。
最初に、/PROFILE リンク オプションを使用してプロジェクトをコンパイルする必要があります。プロジェクトのプロパティを表示すると、次の場所にあります: [構成プロパティ] -> [リンカー] -> [詳細設定] -> [プロファイル]
プロファイラー ツールは、C:\Program Files\Microsoft Visual Studio 9.0\Team Tools\Performance Tools ディレクトリにあります。
EXE または DLL ファイルにインストルメンテーション コードを追加する必要があります。これは、次のコマンドで行います: vsinstr.exe /COVERAGE
これにより、元のファイルが「.orig」ファイルにコピーされ、カバレッジ データの収集に必要なインストルメンテーション コードを含む元の名前の新しいファイルが作成されます。次に、次のコマンドでリスナーを開始します: VSPerfMon.exe /COVERAGE /OUTPUT:
次に、カバレッジを計算するファイルを使用する EXE またはテスト スイートを実行します。
手順 4 (4) で開始したリスナーは、テスト スイートが終了すると自動的に停止しないため、次のコマンドを使用して (2 番目のコマンド プロンプトから) 手動で停止する必要があります: VSPerfCmd.exe /SHUTDOWN
リスナーが停止したら、作成した「.coverage」ファイルを Visual Studio にドラッグ アンド ドロップするだけで、結果を表示できます。
プログラムを実行するたびに、このツールが .coverage ファイルを同じ場所に出力するように、これを自動化する方法があるかどうか疑問に思っています。これにより、コード カバレッジのパーセンテージをより簡単かつ迅速に取得できるようになります。Visual Studio 2012 で C++ プログラムを実行する方法を知っている人はいますか?