Oracle® Solaris Studio 12.4: IDE クイックスタートチュートリアル

印刷ビューの終了

更新: 2014 年 10 月
 
 

プロジェクトでのメモリーアクセス検査の実行

メモリー解析ツールを使用して、プロジェクト内のメモリーアクセスエラーを見つけることができます。このツールを使用すると、ソースコード内で各エラーが発生する場所を正確に特定されるので、これらのエラーを簡単に見つけることができます。

メモリー解析ツールはプログラムの実行中にメモリーアクセスエラーを動的に検出して報告するため、コードの一部が実行時に実行されていない場合、その部分のエラーは報告されません。

  1. まだ行なっていない場合は、「Oracle Solaris Studio 12.3 Sample Applications」の Web ページ (http://www.oracle.com/technetwork/server-storage/solarisstudio/downloads/solaris-studio-samples-1408618.html) からサンプルアプリケーション zip ファイルをダウンロードし、任意の場所にファイルを解凍します。memorychecks アプリケーションは、SolarisStudioSampleApplications ディレクトリの CodeAnalyzer サブディレクトリにあります。

  2. memorychecks アプリケーションを使用して、既存のソースからプロジェクトを作成します。

  3. プロジェクトを右クリックし、「プロパティー」を選択します。「プロジェクトのプロパティー」ダイアログボックスで、「実行」ノードを選択し、「コマンドを実行」で、出力パスのあとに Customer.db と入力します。「OK」をクリックします。

  4. プロジェクトを実行します。

  5. メモリー解析のための計測付きのプロジェクトを構築します。

    1. 「プロジェクトをプロファイル」ボタン image:「プロジェクトをプロファイル」ボタン の横にある下矢印をクリックして「プロジェクトをプロファイル」を選択し、ドロップダウンリストから「メモリーアクセスエラー」を見つけます。

    2. 「解析の種類を選択」ダイアログボックスで、ドロップダウンリストから「すべてのメモリーアクセスエラー」を選択します。

      image:「解析の種類を選択」ダイアログボックス

      「オーバーヘッド」フィールドにはシステムにかかる負荷を示す「高」または「中」が表示されます。オーバーヘッドが高い場合、システム上で実行中のほかのプログラムのパフォーマンスに影響が出ることがありますが、データの競合とデッドロックの両方が検出されるのはこの場合です。

    3. 「開始」をクリックします。

  6. 「メモリープロファイルを実行」ダイアログボックスが開き、バイナリが計測されることが通知されます。「OK」をクリックします。

  7. プロジェクトが構築され計測されます。アプリケーションが実行を開始し、「メモリー解析」ウィンドウが開きます。プロジェクトの実行が完了すると、プロジェクト内で見つかったメモリーアクセスエラーの種類の一覧が「メモリー解析」ウィンドウに表示されます。エラーの種類のあとの括弧内に、それぞれの種類のエラー数が表示されます。

    image:「メモリー解析」ウィンドウ
  8. エラーの種類をクリックすると、その種類のエラーが「メモリー解析ツール」ウィンドウに表示されます。

    image:「メモリー解析ツール」ウィンドウ

    デフォルトでは、エラーはエラーが見つかったソースファイル別にグループ化されます。エラーをクリックすると、そのエラーの呼び出しスタックが表示されます。スタック内の関数呼び出しをダブルクリックすると、ソースファイル内の関連する行が表示されます。