静的データまたは動的メモリーアクセスデータを収集したかどうかにかかわらず、アプリケーションをコンパイルし、計測機構を組み込み、実行して、コードカバレージデータを収集できます。動的メモリーエラーデータを収集する前に –g オプションでアプリケーションを構築した際には、計測機構を組み込む前にバイナリのコピーを保存していることになります。
カバレージデータ収集のために計測機能を組み込むよう、保存バイナリをコピーします。
$ cp a.out.save a.out
uncover でバイナリに計測機構を組み込みます。
$ uncover a.out
計測機構付きバイナリを実行してコードカバレージデータを収集します。
$ ./a.out
コードカバレージデータが、sample ディレクトリ内の a.out.uc ディレクトリに書き込まれます。
a.out.uc ディレクトリに対して uncover を実行します。
$ uncover -a a.out.uc
コードカバレージデータが sample/a.out.analyze/uncover ディレクトリに書き込まれます。
コードアナライザ GUI を起動して結果を表示します。
$ code-analyzer a.out &
「結果」タブに、静的な問題、動的メモリーの問題、およびコードカバレージの問題が表示されます。
結果をフィルタリングしてコードカバレージの問題だけを表示するには、「問題」タブで「カバレージ」オプションを選択します。
「結果」タブに、12 件のコードカバレージの問題だけが表示されます。各問題の説明には、潜在的なカバレージの割合が含まれています。この割合は、該当する関数をカバーするテストを追加した場合にアプリケーションの合計カバレージが何パーセント増加するかを示しています。
「問題」タブでは、カバレージの問題の 9 件が previse_all.c ソースファイル、3 件が sample2.c、および 1 件が previse_1.c に含まれています。
sample2.c ファイルの問題だけを表示するには、「問題」タブでそのファイルのオプションを選択します。
この時点で、「結果」タブには、sample2.c で見つかった 3 件のコードカバレージの問題だけが表示されます。
いずれかの問題でソースファイルパスのリンクをクリックして、ソースファイルを開きます。左の余白に警告アイコンが現れるまで、ソースファイルを下へスクロールします。
カバーされていないコードは黄色の各括弧でマークされます。
ファイルで見つかったカバレージの問題は、警告アイコン
でマークされます。