トランザクション指向操作でメモリー・リークを検出する

このプロシージャーにより、新規オブジェクトを作成するが、解放しないため、 ガーベッジ・コレクションでそのオブジェクトを除去できないプログラムの フェーズを識別できることがあります。たとえば、プログラムがダイアログ・ウィンドウを 作成した場合に、ウィンドウが閉じられた後も、そのダイアログに関連したオブジェクトが 継続して保持されることがあります。 一般的なプロシージャーは、以下のとおりです。

  1. アプリケーションのプロファイルを作成します。 問題の操作の前にオブジェクト参照を収集し、 オブジェクト参照テーブルを表示します。 メモリー・リークを識別する に記載されたプロシージャーを使用します。
  2. 操作を実行し、再びオブジェクト参照を収集し、テーブルを表示して、 作成されたオブジェクト参照を表示します。 
  3. 操作を終了し、オブジェクト参照を収集し、テーブルを表示して、 作成されたオブジェクトに対する参照が残っているかどうかを確認します。

操作の前後にオブジェクト参照を収集する

  1. オブジェクト参照のダンプを作成するには、 「オブジェクト参照の収集 (Collect Object References)」ボタン スタイル・アイコンを持つボタン を使用します。 ダンプの直前に存在していたオブジェクトが 古いオブジェクト です。 
  2. 次に、操作終了直後のオブジェクトと参照のダンプを作成します。 作成されたオブジェクトのうち、参照の 2 回のダンプの間のインターバルに収集できなかった オブジェクトには、オブジェクト参照ビューで 新規オブジェクト のラベルが付けられます。

オブジェクト参照テーブルのプロファイル作成データを表示する

  1. プロファイル・モニター・ビューを開きます。
  2. エージェントを選択します。
  3. 右マウス・ボタンをクリックし、次に 「開く (Open With)」>「オブジェクト参照 (Object References)」の順にクリックします。 オブジェクト参照テーブルが開きます。

オブジェクトの参照を識別する

オブジェクトの参照を識別するには、次のようにします。

  1. オブジェクト参照テーブルを開きます。
  2. 「参照の表示 (Show Reference By)」が選択されていることを確認します。
  3. オブジェクト・クラスを選択し、その項目を展開します。
  4. 新規オブジェクトのレクラメーション処理を妨げている参照を識別します。
 

関連概念
プロファイル作成ツールの概説
プロファイル作成リソース
オブジェクト参照テーブル

関連タスク
メモリー・リークを識別する 
アプリケーションのプロファイルを作成する
Java プロセスを起動する/接続する
パフォーマンスとメモリー使用量を分析する - 概要


 
 

>