スレッドデータ共有イベントの検出

複数のスレッドが同じデータ要素にアクセスする場合、断続的にデータ破壊が発生することがあります。インテル® デバッガーは、通常のデバッグセッションでスレッドデータ共有イベントを検出し、解析することができます。検出されたイベントは、[Thread Data Sharing Events (スレッドデータ共有イベント)] ウィンドウに表示されます。

スレッドデータ共有イベントを検出するには、次の操作を行います。

  1. [Parallel (並列)] > [Thread Data Sharing Detection (スレッドデータ共有の検出)] > [Enable/Disable Detection (検出を有効/無効にする)] を選択します。
  2. [Parallel (並列)] > [Thread Data Sharing Events (スレッドデータ共有イベント)] を選択します。 [Thread Data Sharing Events (スレッドデータ共有イベント)] ウィンドウが表示されます。
  3. [Run (実行)] > [Run or Rerun (実行/再実行)] を選択します。
  4. または、次のコマンドのシーケンスを入力します。
    1. (idb) idb sharing on
      このコマンドは、データ共有イベントの検出を有効にします。
    2. (idb) idb sharing stop on
      このコマンドは、データ共有イベント発生時にデバッグ対象を停止します。デフォルトではオンです。idb sharing stop off を指定していない場合は、この手順をスキップしてください。
    3. (idb) run
    4. (idb) idb sharing event expand

      このコマンドは、データ共有検出イベントの詳細な情報を表示します。

デバッガーはインストルメント済みアプリケーションを実行して、データ共有イベントが発生したら停止します。プログラムの実行中に発生するすべてのスレッドデータ共有イベントが [Thread Data Sharing Events (スレッドデータ共有イベント)] ウィンドウに、または idb sharing event expand を入力すると表示されます。

データ共有イベントでアプリケーションを停止しないようにするには、[Parallel (並列)] > [Stop on Event (イベントで停止)] を選択してブレークを切り替えます。または、idb sharing stop off と入力します。

関連情報


このヘルプトピックについてのフィードバックを送信