演習 1.2: スレッド・データの収集

この演習を開始する前に、『演習 1.1: 必要なリソースのインポート』を 完了する必要があります。

シナリオ: 調べようとしているプログラムは、実行後しばらくすると突然停止します。 これは、プログラムを実行するたびに発生します。 この動作はスレッド・デッドロックに典型的なものであるため、このプログラム内で各スレッドが どのように相互作用しているのかを調べるように依頼されました。

考えられるスレッド・デッドロックを突き止めるには、まずスレッド・データを収集して から、「プロファイルおよびロギング」パースペクティブのスレッド・ビューを使用してそのデータを分析し ます。

スレッド・データを収集することにより、デッドロックを特定したり、アプリケーションのエラーの原因でないスレッドを判別したりできます。

スレッド・データの収集の準備

スレッド・データを収集するには、「プロファイルおよびロギング」パースペクティブを開いている必 要があります。 このパースペクティブに切り替えるには、以下のようにします。

  1. Software Development Platform のメニュー・バーから、「ウィンドウ」>「パース ペクティブを開く」>「その他」をクリックする。「パースペクティブの選択」ダイアログ・ボックスが開きます。
  2. このダイアログ・ボックスの左下で、「すべて表示」をクリックする。このチェック・ボックスに チェック・マークが付けられます。
  3. パースペクティブのリストから、「プロファイルおよびロギング」を選択して「OK」を クリックする。
  4. 「使用可能化の確認」ダイアログ・ボックスが開いた場合は、「常に機能を使用可能にし、今 後このメッセージを表示しない」をクリックして、「OK」をクリックする。
  5. Software Development Platform が「プロファイルおよびロギング」パースペクティブに切り替わ る。

philosopher アプリケーションのスレッド・データの収集

データを収集するには、以下のようにします。

  1. Software Development Platform のメニュー・バーから、「ウィンドウ」>「ビューの表 示」>「コンソール」をクリックして、「コンソール」ビューを表示する。「コンソール」ビューでは、アプリケーションの処理 状況を追跡できます。
  2. 以下の手順に従ってプロファイル構成を作成する。
    1. メニュー・バーから、「実行」>「プロファイル」をクリックする。「プロファイル」ダイアログ・ボックスが開きま す。
    2. 「構成」リストで、「Java アプリケーション」エントリーをダブルクリッ クする。「新規構成」エントリーが表示されます。
    3. 「名前」フィールドに「PhilosopherThreads」と入力する。
    4. 「メイン」タブで、「プロジェクト」フィールドに「philosopher」がまだ入力されていない場 合は、以下のようにする。
      1. 「プロジェクト」フィールドの横の「参照」をクリックする。「プロジェクトの選択」ダイアログ・ボックスが開きます。
      2. philosopher」を選択して「OK」をクリックする。
    5. 「メイン・クラス」フィールドの横の「検索」をクリックする。
    6. 「メイン型の選択」ダイアログ・ボックスで、「MaitreDHote」をクリックして「OK」 をクリックする。
    7. プロファイル」タブをクリックする。
    8. 「概要」サブタブで、「スレッド分析 (Thread Analysis)」プロファイル・セットを選択する。 (プロファイル・セット により、実行で収集されるプロファイル・データのタイプが定義されます。)
  3. プロファイル」をクリックする。アプリケーションが実行されて、表示が以下のように変化します。

    プログラムの出力が表示された「コンソール」ビュー

アプリケーションが特定のポイントに到達すると、処理が停止します。  しかし、この実行でスレッド・データを収集したため、アプリケーションが停止した理由を分析でき ます。

データを収集できなかった場合

何らかのプロファイル・データを収集するには、Agent Controller が実行されている必要があります。 Agent Controller を使用できないことを示すメッセージが表示された場合は、Agent Controller がインス トールされていることを確認して、手動で開始してから、データの収集を再試行してください。 詳細については、インストール・ガイドを参照してください。 インストール・ガイドにはランチパッドを使用してアクセスできます。または、 製品 CD の disk1/install.html ファイルを直接開くこともできます。

データを収集したら、『演習 1.3: スレッド・ボトルネックの特定』を開 始する準備ができています。

フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.