ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris Studio 12.3 コードアナライザユーザーズガイド Oracle Solaris Studio 12.3 Information Library (日本語) |
C または C++ プログラムの静的エラーデータを収集するには、Oracle Solaris Studio 12.3 C または C++ コンパイラを使用して -xanalyze=code オプションでプログラムをコンパイルします。(-xanalyze=code オプションは、以前のリリースの Oracle Solaris Studio のコンパイラでは使用できません。)このオプションを使用すると、コンパイラは静的エラーを自動的に抽出し、データを binary_name.analyze ディレクトリの static サブディレクトリに書き込みます。
プログラムを -xanalyze=code オプションでコンパイルしたあと、別の手順でリンクする場合は、リンク手順でも -xanalyze=code オプションを指定する必要があります。
コンパイラはコード内の静的エラーをすべて検出できるわけではありません。
実行時にのみ使用可能になるデータに依存するエラーもあります。たとえば、次のコードの場合、ファイルから読み取られる ix の値が [0,9] の範囲外にあることを検出できないため、コンパイラは ABW (配列範囲外への書き込み) エラーを検出しません。
void f(int fd, int array[10]) { int ix; read(fd, &ix, sizeof(ix)); array[ix] = 0; }
コードの実際のエラーである可能性もそうでない可能性もある、あいまいなエラーもあります。コンパイラはこのようなエラーを報告しません。
一部の複雑なエラーは、このリリースのコンパイラでは検出されません。
静的エラーデータを収集したあと、コードアナライザ GUI を起動してデータの分析と表示を行うか (「コードアナライザ GUI の起動」を参照)、動的メモリーアクセスまたはコードカバレージのデータを収集するためにプログラムを再度コンパイルすることができます。