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

印刷ビューの終了

更新: 2014 年 12 月
 
 

データの競合の検出実験を検証する

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

スレッドアナライザを使用したデータの競合実験の表示

スレッドアナライザを開始するには、次のコマンドを入力します。

% tha

スレッドアナライザをはじめて起動すると、開始画面が表示されます。

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

    デフォルトでは次のデータビューが表示されます。

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

  • 「競合」ビューには、プログラムで検出されたデータの競合と、関連する呼び出しスタックトレースの一覧が表示されます。デフォルトではこのビューが選択されています。「競合」ビューで項目を選択すると、選択したデータの競合または呼び出しスタックトレースの詳細情報が「競合の詳細」ウィンドウに表示されます。

  • 「デュアルソース」ビューには、選択したデータの競合の 2 つのアクセスに対応する 2 つのソースの位置が表示されます。データの競合アクセスが起きたソース行が強調表示されます。

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

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

er_print を使用したデータの競合実験の表示

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

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

  • –races

    これは、実験で明らかになったデータの競合をすべて報告します。(er_print) プロンプトで races と指定するか、er_print コマンド行で –races と指定します。

  • –rdetail race_id

    これにより、指定した race_id を持つデータの競合に関する詳細な情報が表示されます。(er_print) プロンプトで rdetail と指定するか、er_print コマンド行で –rdetail と指定します。指定した race_idall の場合、すべてのデータの競合に関する詳細情報が表示されます。それ以外では、最初のデータの競合を表す 1 などの単一の競合番号を指定します。

  • –header

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

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