Oracle® Solaris Studio 12.4: dbx コマンドによるデバッグ

印刷ビューの終了

更新: 2015 年 1 月
 
 

イベントの使用

dbx では、OpenMP コード上で stopwhen、および trace コマンドで使用できるイベントが提供されます。これらのコマンドとともにイベントを使用する方法については、イベント指定の設定を参照してください。

同期イベント

omp_barrier [type] [state]

バリアーに入っているスレッドのイベントを追跡します。

type の有効な値は次のとおりです。

  • explicit – 明示的なバリアーを追跡する

  • implicit – 暗黙的なバリアーを追跡する

type を指定しなければ、明示的なバリアーだけが追跡されます。

state の有効な値は次のとおりです。

  • enter – いずれかのスレッドがバリアーに入ったときにイベントを報告する

  • exit – いずれかのスレッドがバリアーを出たときにイベントを報告する

  • all_entered – すべてのスレッドがバリアーに入ったときにイベントを報告する

state を指定しない場合のデフォルトは all_entered です。

enter または exit を指定する場合は、そのスレッドのみの追跡を指定するためにスレッド ID を含めることができます。

omp_taskwait [state]

taskwait に入っているスレッドのイベントを追跡します。

state の有効な値は次のとおりです。

  • enter – スレッドが taskwait に入ったときにイベントを報告する

  • exit – すべての子タスクが完了したときにイベントを報告する

state を指定しない場合のデフォルトは exit です。

omp_ordered [state]

順序付き領域に入っているスレッドのイベントを追跡します。

state の有効な値は次のとおりです。

  • begin – 順序付き領域が開始したときにイベントを報告する

  • enter – スレッドが順序付き領域に入ったときにイベントを報告する

  • exit – スレッドが順序付き領域を出たときにイベントを報告する

state を指定しない場合のデフォルトは enter です。

omp_critical

クリティカル領域に入っているスレッドのイベントを追跡します。

omp_atomic [state]

不可分領域に入っているスレッドのイベントを追跡します。

state の有効な値は次のとおりです。

  • begin – 微細領域が開始したときにイベントを報告する

  • exit – スレッドが微細領域を出たときにイベントを報告する

state を指定しない場合のデフォルトは begin です。

omp_flush

フラッシュを実行しているスレッドのイベントを追跡します。

その他のイベント

omp_task [state]

タスクの作成と終了を追跡します。

state の有効な値は次のとおりです。

  • create – タスクが作成されてすぐ、その実行が開始される前にイベントを報告する

  • start – タスクがその実行を開始したときにイベントを報告する

  • finish – タスクがその実行を完了し、終了されようとしているときにイベントを報告する

state を指定しない場合のデフォルトは start です。

omp_master

マスター領域に入るマスタースレッドのイベントを追跡します。

omp_single

単一領域に入っているスレッドのイベントを追跡します。