IDebugEventCallbacks::ChangeDebuggeeState method (dbgeng.h)
The ChangeDebuggeeState callback method is called by the engine when it makes or detects changes to the target.
Syntax
HRESULT ChangeDebuggeeState(
[in] ULONG Flags,
[in] ULONG64 Argument
);
Parameters
[in] Flags
Specifies the type of changes made to the target. Flags may take one of the following values:
Value | Description |
---|---|
DEBUG_CDS_ALL | A general change in the target has occurred. For example, the target has been executing, or the engine has just attached to the target. |
DEBUG_CDS_REGISTERS | The processor registers for the target have changed. |
DEBUG_CDS_DATA | The target's data space has changed. |
DEBUG_CDS_REFRESH | Inform the GUI clients to refresh debugger windows. |
[in] Argument
Provides additional information about the change in the target. The interpretation of the value of Argument depends on the value of Flags:
- DEBUG_CDS_ALL
- The value of Argument is zero.
- DEBUG_CDS_REGISTERS
- If a single register has changed, the value of Argument is the index of that register. Otherwise, the value of Argument is DEBUG_ANY_ID.
- DEBUG_CDS_DATA
-
The value of Argument specifies which data space was changed. The following table contains the possible values of Argument.
Value Description DEBUG_DATA_SPACE_VIRTUAL The target's virtual memory has changed. DEBUG_DATA_SPACE_PHYSICAL The target's physical memory has changed. DEBUG_DATA_SPACE_CONTROL The target's control memory has changed. DEBUG_DATA_SPACE_IO The target's I/O ports have received input or output. DEBUG_DATA_SPACE_MSR The target's Model-Specific Registers (MSRs) have changed. DEBUG_DATA_SPACE_BUS_DATA The target's bus memory has changed. - DEBUG_CDS_REFRESH
-
The following table contains the possible values of Argument.
Value 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
Return value
The return value is ignored by the engine unless it indicates a remote procedure call error; in this case the client, with which this IDebugEventCallbacks object is registered, is disabled.
Remarks
The engine calls ChangeDebuggeeState only if the DEBUG_EVENT_CHANGE_DEBUGGEE_STATE flag is set in the mask returned by IDebugEventCallbacks::GetInterestMask.
For more information about handling events, see Monitoring Events. For information about managing the target's memory, including registers and data spaces, see Memory Access. For information about the target's virtual and physical memory, see Virtual and Physical Memory. For information about the target's control memory, I/O ports, MSR, and bus memory, see Other Data Spaces.
Requirements
Requirement | Value |
---|---|
Target Platform | Desktop |
Header | dbgeng.h (include Dbgeng.h) |