IDebugEventCallbacks::ChangeDebuggeeState メソッド (dbgeng.h)
ChangeDebuggeeState コールバック メソッドは、ターゲットへの変更を行うか検出したときに、エンジンによって呼び出されます。
構文
HRESULT ChangeDebuggeeState(
[in] ULONG Flags,
[in] ULONG64 Argument
);
パラメーター
[in] Flags
ターゲットに加えられた変更の種類を指定します。 Flags は、次のいずれかの値を受け取る場合があります。
価値 | 形容 |
---|---|
DEBUG_CDS_ALL | ターゲットの一般的な変更が発生しました。 たとえば、ターゲットが実行されているか、エンジンがターゲットにアタッチされたばかりです。 |
DEBUG_CDS_REGISTERS | ターゲットのプロセッサ レジスタが変更されました。 |
DEBUG_CDS_DATA | ターゲットのデータ領域が変更されました。 |
DEBUG_CDS_REFRESH | デバッガー ウィンドウを更新するように GUI クライアントに通知します。 |
[in] Argument
ターゲットの変更に関する追加情報を提供します。 引数 値の解釈は、Flagsの値によって異なります。
- DEBUG_CDS_ALL
- 引数 の値は 0 です。
- DEBUG_CDS_REGISTERS
- 1 つのレジスタが変更された場合、引数 値はそのレジスタのインデックスです。 それ以外の場合、引数 の値 DEBUG_ANY_ID。
- DEBUG_CDS_DATA
-
引数 の値は、変更されたデータ領域を指定します。 次の表に、引数 指定できる値を示します。
価値 形容 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
-
次の表に、引数 指定できる値を示します。
価値 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 オブジェクトが登録されているクライアントは無効になります。
備考
DEBUG_EVENT_CHANGE_DEBUGGEE_STATE フラグ IDebugEventCallbacks::GetInterestMask によって返されるマスクにDEBUG_EVENT_CHANGE_DEBUGGEE_STATE フラグが設定されている場合にのみ、エンジンは ChangeDebuggeeState を呼び出します。
イベントの処理の詳細については、「監視イベントの」を参照してください。 レジスタやデータ空間など、ターゲットのメモリの管理については、「メモリ アクセス」を参照してください。 ターゲットの仮想メモリと物理メモリの詳細については、「仮想メモリと物理メモリの を参照してください。 ターゲットの制御メモリ、I/O ポート、MSR、バス メモリの詳細については、「その他のデータスペースを参照してください。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | dbgeng.h (Dbgeng.h を含む) |