IDebugEventCallbacks::ChangeDebuggeeState メソッド (dbgeng.h)
ChangeDebuggeeState コールバック メソッドは、ターゲットに対する変更を行うか検出すると、エンジンによって呼び出されます。
構文
HRESULT ChangeDebuggeeState(
[in] ULONG Flags,
[in] ULONG64 Argument
);
パラメーター
[in] Flags
ターゲットに加えられた変更の種類を指定します。 フラグ は、次のいずれかの値を受け取る場合があります。
値 | 説明 |
---|---|
DEBUG_CDS_ALL | ターゲットの一般的な変更が発生しました。 たとえば、ターゲットが実行されているか、エンジンがターゲットにアタッチされているだけです。 |
DEBUG_CDS_REGISTERS | ターゲットのプロセッサ レジスタが変更されました。 |
DEBUG_CDS_DATA | ターゲットのデータ空間が変更されました。 |
DEBUG_CDS_REFRESH | デバッガー ウィンドウを更新するように GUI クライアントに通知します。 |
[in] Argument
ターゲットの変更に関する追加情報を提供します。 Argument の値の解釈は、Flags の値によって異なります。
- DEBUG_CDS_ALL
- 引数の値は 0 です。
- DEBUG_CDS_REGISTERS
- 1 つのレジスタが変更された場合、 Argument の値はそのレジスタのインデックスです。 それ以外の場合、 Argument の値はDEBUG_ANY_ID。
- DEBUG_CDS_DATA
-
Argument の値は、変更されたデータ空間を指定します。 次の表に、Argument の使用可能な値を示 します。
値 説明 DEBUG_DATA_SPACE_VIRTUAL ターゲットの仮想メモリが変更されました。 DEBUG_DATA_SPACE_PHYSICAL ターゲットの物理メモリが変更されました。 DEBUG_DATA_SPACE_CONTROL ターゲットの制御メモリが変更されました。 DEBUG_DATA_SPACE_IO ターゲットの I/O ポートが入力または出力を受信しました。 DEBUG_DATA_SPACE_MSR ターゲットの Model-Specific レジスタ (MSR) が変更されました。 DEBUG_DATA_SPACE_BUS_DATA ターゲットのバス メモリが変更されました。 - DEBUG_CDS_REFRESH
-
次の表に、Argument の使用可能な値を示 します。
値 DEBUG_CDS_REFRESH_EVALUATE DEBUG_CDS_REFRESH_EXECUTE DEBUG_CDS_REFRESH_EXECUTECOMMANDFILE DEBUG_CDS_REFRESH_ADDBREAKPOINT DEBUG_CDS_REFRESH_REMOVEBREAKPOINT DEBUG_CDS_REFRESH_WRITEVIRTUAL DEBUG_CDS_REFRESH_WRITEVIRTUALUNCACHED DEBUG_CDS_REFRESH_WRITEPHYSICAL DEBUG_CDS_REFRESH_WRITEPHYSICAL2 DEBUG_CDS_REFRESH_SETVALUE DEBUG_CDS_REFRESH_SETVALUE2 DEBUG_CDS_REFRESH_SETSCOPE DEBUG_CDS_REFRESH_SETSCOPEFRAMEBYINDEX DEBUG_CDS_REFRESH_SETSCOPEFROMJITDEBUGINFO DEBUG_CDS_REFRESH_SETSCOPEFROMSTOREDEVENT DEBUG_CDS_REFRESH_INLINESTEP DEBUG_CDS_REFRESH_INLINESTEP_PSEUDO
戻り値
戻り値は、リモート プロシージャ 呼び出しエラーを示さない限り、エンジンによって無視されます。この場合、この IDebugEventCallbacks オブジェクトが登録されているクライアントは無効になります。
注釈
エンジンは、IDebugEventCallbacks::GetInterestMask によって返されるマスクにDEBUG_EVENT_CHANGE_DEBUGGEE_STATE フラグが設定されている場合にのみ ChangeDebuggeeState を呼び出します。
イベントの処理の詳細については、「 イベントの監視」を参照してください。 レジスタやデータ空間など、ターゲットのメモリの管理については、「 メモリ アクセス」を参照してください。 ターゲットの仮想メモリと物理メモリの詳細については、「 仮想メモリと物理メモリ」を参照してください。 ターゲットの制御メモリ、I/O ポート、MSR、バス メモリの詳細については、「 その他のデータスペース」を参照してください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | dbgeng.h (Dbgeng.h を含む) |