Oracle® Solaris Studio 12.4: コードアナライザチュートリアル

印刷ビューの終了

更新: 2014 年 10 月
 
 

コードカバレージデータの収集と表示

静的データまたは動的メモリーアクセスデータを収集したかどうかにかかわらず、アプリケーションをコンパイルし、計測機構を組み込み、実行して、コードカバレージデータを収集できます。動的メモリーエラーデータを収集する前に –g オプションでアプリケーションを構築した際には、計測機構を組み込む前にバイナリのコピーを保存していることになります。

  1. カバレージデータ収集のために計測機能を組み込むよう、保存バイナリをコピーします。

    $ cp a.out.save a.out
  2. uncover でバイナリに計測機構を組み込みます。

    $ uncover a.out
  3. 計測機構付きバイナリを実行してコードカバレージデータを収集します。

    $ ./a.out

    コードカバレージデータが、sample ディレクトリ内の a.out.uc ディレクトリに書き込まれます。

  4. a.out.uc ディレクトリに対して uncover を実行します。

    $ uncover -a a.out.uc

    コードカバレージデータが sample/a.out.analyze/uncover ディレクトリに書き込まれます。

  5. コードアナライザ GUI を起動して結果を表示します。

    $ code-analyzer a.out &

    「結果」タブに、静的な問題、動的メモリーの問題、およびコードカバレージの問題が表示されます。

  6. 結果をフィルタリングしてコードカバレージの問題だけを表示するには、「問題」タブで「カバレージ」オプションを選択します。

    「結果」タブに、12 件のコードカバレージの問題だけが表示されます。各問題の説明には、潜在的なカバレージの割合が含まれています。この割合は、該当する関数をカバーするテストを追加した場合にアプリケーションの合計カバレージが何パーセント増加するかを示しています。

    image:いくつかのコードカバレージの問題が表示されたコードアナライザの「結果」タブ

    ヒント  -  上下にスクロールすることなくすべての問題を表示するには、「結果」タブの上部にある「スニペット」ボタン image:「スニペットを非表示」ボタン をクリックしてコードスニペットを非表示にします。

    「問題」タブでは、カバレージの問題の 9 件が previse_all.c ソースファイル、3 件が sample2.c、および 1 件が previse_1.c に含まれています。

  7. sample2.c ファイルの問題だけを表示するには、「問題」タブでそのファイルのオプションを選択します。

    この時点で、「結果」タブには、sample2.c で見つかった 3 件のコードカバレージの問題だけが表示されます。

    image:sample2.c のコードカバレージエラーが表示されたコードアナライザの「結果」タブ
  8. いずれかの問題でソースファイルパスのリンクをクリックして、ソースファイルを開きます。左の余白に警告アイコンが現れるまで、ソースファイルを下へスクロールします。

    image:カバーされていないコードが含まれているソースファイルの部分とカバレージの問題の警告アイコン

    カバーされていないコードは黄色の各括弧でマークされます。

    ファイルで見つかったカバレージの問題は、警告アイコン image:問題警告アイコン でマークされます。