共用方式為


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)