スレッドアナライザ、パフォーマンスアナライザ、または er_print ユーティリティーを使用して、データ競合検出実験を検証できます。スレッドアナライザとパフォーマンスアナライザはともに GUI インタフェースを提供します。 デフォルトタブ数が少ないことを除けば、スレッドアナライザはパフォーマンスアナライザと同じです。
スレッドアナライザの GUI は、メニューバー、ツールバー、および各種表示用のタブを含む分割区画で構成されます。左側のタブには、デフォルトで次の 3 つのタブが表示されます。
「競合」タブ - プログラム内で検出されたデータ競合の一覧です。デフォルトで選択されているタブです。
「デュアルソース」タブ - 選択されたデータ競合の 2 つの アクセスに対応する 2 つのソース位置を示します。データ競合の発生したソース行が強調表示されます。
「実験」タブ - 実験の負荷オブジェクトを示すとともに、エラーおよび警告メッセージを表示します。
スレッドアナライザ画面の右側の区画には、次の 2 つのタブが表示されます。
「概要」タブ - 「競合」タブで選択されたデータ競合アクセスに関する概要情報を表示します。
「競合の詳細」 - 「競合」タブで選択されたデータ競合アクセスに関する詳細情報を表示します。
一方、er_print ユーティリティーは、コマンド行インタフェースを提供します。次のサブコマンドは er_print ユーティリティーで競合を調べるときに有用です。
-races: 実験で検出されたすべてのデータ競合を報告します。
-rdetail race_id: 指定された race_id を持つデータ競合の詳細情報を表示します。race_id に「all」を指定した場合は、すべてのデータ競合に関する詳細情報が表示されます。
-header: 実験に関する説明を表示し、エラーと警告を報告します。
詳細は、collect.1、tha.1、analyzer.1、および er_print.1 のマニュアルページを参照してください。