IDebugEventCallbacksWide::ChangeDebuggeeState 方法 (dbgeng.h)
當引擎對目標進行或偵測到變更時,會呼叫 ChangeDebuggeeState 回呼方法。
語法
HRESULT ChangeDebuggeeState(
[in] ULONG Flags,
[in] ULONG64 Argument
);
參數
[in] Flags
指定對目標所做的變更類型。 旗標 可能會採用下列其中一個值:
值 | Description |
---|---|
DEBUG_CDS_ALL | 發生目標中的一般變更。 例如,目標已經執行,或引擎剛附加至目標。 |
DEBUG_CDS_REGISTERS | 目標的處理器快取器已變更。 |
DEBUG_CDS_DATA | 目標的數據空間已變更。 |
[in] Argument
提供有關目標中變更的其他資訊。 Argument 值解譯取決於 Flags 的值:
- DEBUG_CDS_ALL
- Argument 的值是零。
- DEBUG_CDS_REGISTERS
- 如果單一緩存器已變更, Argument 的值就是該緩存器索引。 否則, Argument 的值會DEBUG_ANY_ID。
- DEBUG_CDS_DATA
-
Argument 的值會指定哪些數據空間已變更。 下表包含 Argument 的可能值。
值 Description 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 目標的總線記憶體已變更。
傳回值
除非引擎指出遠程過程調用錯誤,否則會忽略傳回值;在此情況下,會停用此 IDebugEventCallbacksWide 物件的用戶端。
備註
只有在 IDebugEventCallbacksWide::GetInterestMask 傳回的遮罩中設定DEBUG_EVENT_CHANGE_DEBUGGEE_STATE旗標時,引擎才會呼叫 ChangeDebuggeeState。
如需處理事件的詳細資訊,請參閱 監視事件。 如需管理目標記憶體的相關信息,包括緩存器和數據空間,請參閱 記憶體存取。 如需目標虛擬和實體記憶體的相關信息,請參閱 虛擬和實體記憶體。 如需目標控制記憶體、I/O 埠、MSR 和總線記憶體的相關信息,請參閱 其他數據空間。
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | dbgeng.h (包含 Dbgeng.h) |