Oracle® Solaris Studio 12.4: スレッドアナライザユーザーズガイド

印刷ビューの終了

更新: 2014 年 12 月
 
 

デッドロック検出実験を検証する

スレッドアナライザ、パフォーマンスアナライザ、er_print ユーティリティーで、デッドロック検出実験を検証できます。スレッドアナライザおよびパフォーマンスアナライザはどちらも GUI インタフェースを表示します。スレッドアナライザはデフォルトビューの簡略セットを表示しますが、それ以外はパフォーマンスアナライザと同じです。

スレッドアナライザを使用したデッドロック検出実験の表示

スレッドアナライザを開始して、din_philo.1.er 実験結果を開くには、次のコマンドを入力します。

% tha din_philo.1.er

スレッドアナライザには、メニューバー、ツールバー、左側にデータビューを選択できる垂直のナビゲーションバーが表示されます。

    デッドロック検出用に収集された実験結果を開くと、デフォルトで、次のデータビューが表示されます。

  • 「概要」画面には、ロードされた実験のメトリックの概要が表示されます。

  • 「デッドロック」ビューには、スレッドアナライザがプログラムで検出した実デッドロックと潜在的デッドロックとの一覧が示されます。デフォルトではこのビューが選択されています。各デッドロックに関わるスレッドが示されます。これらのスレッドは、各スレッドがロックを保持し、チェーン内の次のスレッドが保持している別のロックを要求するという巡回チェーンを形成しています。

    デッドロックを選択すると、関係するスレッドの詳細情報を示す「デッドロックの詳細」ウィンドウが右側のパネルに表示されます。

  • 「デュアルソース」ビューには、スレッドがロックを保持したソース位置と、同じスレッドがロックを要求したソース位置が示されます。スレッドがロックを保持し要求したソース行が強調表示されます。このビューを表示するには、「デッドロック」ビューの円形のチェーン内のスレッドを選択して、「デュアルソース」ビューをクリックします。

  • 「実験」ビューには、実験でのロードオブジェクトが表示され、すべてのエラーおよび警告メッセージが一覧表示されます。

「詳細ビュー」オプションメニューでほかのビューを表示できます。

er_print を使用したデッドロック検出実験結果の表示

er_print ユーティリティーは、コマンド行インタフェースを表示します。インタラクティブセッションで er_print ユーティリティーを使用して、セッション中にサブコマンドを指定します。コマンド行オプションを使用して、インタラクティブでない方法でもサブコマンドを指定できます。

    次のサブコマンドは、 er_print ユーティリティーでデッドロックを調べるときに役立ちます。

  • –deadlocks

    このオプションは、実験で検出された潜在的デッドロックおよび実デッドロックについて報告します。(er_print) プロンプトで deadlocks を指定するか、er_print コマンド行で –deadlocks を指定します。

  • –ddetail deadlock-ID

    このオプションは、指定した deadlock-ID を持つデッドロックの詳細な情報を返します。(er_print) プロンプトで ddetail を指定するか、er_print コマンド行で –ddetail を指定します。指定された deadlock-ID all の場合、すべてのデッドロックの詳細情報が表示されます。それ以外では、最初のデッドロックを表す 1 などの単一のデッドロック番号を指定します。

  • –header

    このオプションは、実験に関する記述的情報を表示し、すべてのエラーまたは警告を報告します。(er_print) プロンプトで header と指定するか、コマンド行で –header と指定します。

詳細は、collect(1)、tha(1)、analyzer(1)、および er_print(1) のマニュアルページを参照してください。