[Thread Data Sharing Events (スレッドデータ共有イベント)] ウィンドウ

スレッドにより共有されるデータの情報を表示します。

メニュー

[Parallel (並列)] > [Thread Data Sharing Events (スレッドデータ共有イベント)]

ツールバー

[Thread Data Sharing Events (スレッドデータ共有イベント)]

スレッドデータ共有解析は、次のように表示されます。

次より解析を実行する: date_and_time, (number_of_events, state[, break_state][, filters])
     object_with_shared_access, number_of_accesses
        access_location_1 
        access_location_2 
        (...)
     (...)

1 つ目のレベルは解析実行を表示します。解析が有効なときは、デバッガー実行ごとに作成されます。次のパラメーターで複数の解析実行の履歴を提供します。

パラメーター

値/説明

date

解析実行の日付と時間。

events

検出されたスレッドデータ共有イベントの数。

state enabled

解析がアクティブです。スレッドデータ共有イベントが検出されます。

disabled

解析は、ユーザー入力により無効に設定されています。

completed

古い解析実行。

initializing...

解析は初期化中です。初期化に成功すると、解析の状態が enabled に設定され、スレッドデータ共有イベントが検出されます。

break_state

このパラメーターは、解析が有効なときのみ表示されます。

break

イベントで停止が有効です。スレッドデータ共有イベントが検出されると、デバッガーはアプリケーションを停止します。

continue

continue

イベントで停止が無効です。スレッドデータ共有イベントが検出されてもデバッガーはアプリケーションを停止しません。

詳細は、「スレッドデータ共有イベントの検出」を参照してください。

filters

このパラメーターは、解析が有効なときのみ表示されます。

アクティブなフィルターの数です。詳細は、「[Thread Data Sharing Filters (スレッドデータ共有フィルター)] ウィンドウ」を参照してください。

2 つ目のレベルは、スレッドにより共有されるオブジェクトを表示します。数値とシンボリック形式のオブジェクト・アドレス、および記録されたアクセス数が含まれます。

3 つ目のレベルは、オブジェクトへの個々のアクセスの位置を表示します。常に複数の位置があります。位置情報には、ソース位置と数値アドレスが含まれ、読み取りアクセスまたは書き込みアクセス、OS のスレッド ID を示します。

[Thread Data Sharing Events (スレッドデータ共有イベント)] ウィンドウのステータスバーには、現在の解析のステータス (アクティブまたは無効)、解析に使用したフィルターセット、現在アクティブなフィルターの数が表示されます。 現在の解析のエラーも表示されます。

例 (C++)

ポップアップ・メニュー

指定したフィルターが追加され [Thread Data Sharing Filters (スレッドデータ共有フィルター)] ウィンドウに表示されます。 [Thread Data Sharing Events (スレッドデータ共有イベント)] ウィンドウは、現在の解析実行のアクティブなフィルター数を表示します。

[Enable Detection (検出を有効にする)]

スレッドデータ共有検出を有効にします。デバッグする並列領域にプログラムが入る前に有効にしておく必要があります。

[Stop on Event (イベントで停止)]

スレッドデータ共有イベントが検出されると自動でプログラム実行を停止します。この機能はデフォルトでアクティブです。[Thread Data Sharing Events (スレッドデータ共有イベント)] ウィンドウでは、この機能が有効な場合は break、無効な場合は continue が表示されます。

[Reset Current Detection (現在の検出のリセット)]

ランタイム・ライブラリーのすべてのイベント履歴を消去します。検出は最初から開始され、以前のアクセス履歴がすべてなくなります。これは、データ共有の検出を無効にして、後でまた有効にするときに役立ちます。そうでない場合、以前の並列領域からのアクセスも含まれます。

[Export Events (イベントのエクスポート)]

イベント履歴データを外部のテキストファイルに書き込みます。データは表形式で格納されます。

[Delete (削除)]

[Thread Data Sharing Events (スレッドデータ共有イベント)] ウィンドウから選択した解析を削除します。

[Delete All (すべて削除)]

[Thread Data Sharing Events (スレッドデータ共有イベント)] ウィンドウからすべての解析実行を削除します。

[Go To (移動先)]

特定のウィンドウに移動します。次のオプションのいずれかを選択できます。

[Source Code (ソースコード)]

選択したイベントを生成したソースコードを表示します。

[Disassembly (逆アセンブル)]

選択したイベントを生成した逆アセンブリー・コードを表示します。

[Filters (フィルター)]

以降の検出から除外する項目の表示、変更、フィルターの追加を行う [Thread Data Sharing Filters (スレッドデータ共有フィルター)] ウィンドウを開きます。

以降のアクセスのレポートを表示しない

さまざまなアクセスの種類についてスレッドデータ共有の解析をフィルターし、以降の検出から除外します。次のいずれかのアクセスの種類を選択できます。

[From this Access (このアクセスから)]

選択したイベントを生成したアクセスに対するスレッドデータ共有検出をフィルターします。

[From this Function (この関数から)]

選択したイベントを生成した関数に対するすべてのスレッドデータ共有検出をフィルターします。

[From this Source File (このソースファイルから)]

選択したイベントを生成したソースファイルに対するすべてのスレッドデータ共有検出をフィルターします。

[From this Source Line (このソース行から)]

選択したイベントを生成したソース行に対するすべてのスレッドデータ共有検出をフィルターします。

[To this Data Object (このデータ・オブジェクト)]

選択したイベントを生成したデータ・オブジェクトに対するすべてのスレッドデータ共有検出をフィルターします。

[Show Events Window Automatically (イベントウィンドウの自動表示)]

スレッドデータ共有の検出が有効な場合や、[Stop on Event (イベントで停止)] を有効にしていて、新しいイベントが発生した場合などに、[Thread Data Sharing Events (スレッドデータ共有イベント)] ウィンドウを自動で開きます。 この機能は手動で無効にしない限り、有効です。つまり、このオプションをいったん設定したら、Microsoft Visual Studio を再起動しても設定が復元されます。

関連情報


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