IDebugEventCallbacks::ChangeDebuggeeState-Methode (dbgeng.h)
Die ChangeDebuggeeState-Rückrufmethode wird von der Engine aufgerufen, wenn änderungen am Ziel vorgenommen oder erkannt werden.
Syntax
HRESULT ChangeDebuggeeState(
[in] ULONG Flags,
[in] ULONG64 Argument
);
Parameter
[in] Flags
Gibt den Typ der Änderungen an, die am Ziel vorgenommen wurden. Flags können einen der folgenden Werte annehmen:
Wert | BESCHREIBUNG |
---|---|
DEBUG_CDS_ALL | Eine allgemeine Änderung des Ziels ist aufgetreten. Beispielsweise wurde das Ziel ausgeführt, oder die Engine wurde gerade an das Ziel angefügt. |
DEBUG_CDS_REGISTERS | Die Prozessorregister für das Ziel wurden geändert. |
DEBUG_CDS_DATA | Der Datenbereich des Ziels hat sich geändert. |
DEBUG_CDS_REFRESH | Informieren Sie die GUI-Clients, die Debuggerfenster zu aktualisieren. |
[in] Argument
Stellt zusätzliche Informationen zur Änderung des Ziels bereit. Die Interpretation des Werts von Argument hängt vom Wert von Flags ab:
- DEBUG_CDS_ALL
- Der Wert von Argument ist null.
- DEBUG_CDS_REGISTERS
- Wenn sich ein einzelnes Register geändert hat, ist der Wert von Argument der Index dieses Registers. Andernfalls ist der Wert von Argument DEBUG_ANY_ID.
- DEBUG_CDS_DATA
-
Der Wert von Argument gibt an, welcher Datenbereich geändert wurde. Die folgende Tabelle enthält die möglichen Werte von Argument.
Wert BESCHREIBUNG DEBUG_DATA_SPACE_VIRTUAL Der virtuelle Arbeitsspeicher des Ziels wurde geändert. DEBUG_DATA_SPACE_PHYSICAL Der physische Arbeitsspeicher des Ziels wurde geändert. DEBUG_DATA_SPACE_CONTROL Der Steuerungsspeicher des Ziels wurde geändert. DEBUG_DATA_SPACE_IO Die E/A-Ports des Ziels haben eine Eingabe oder Ausgabe empfangen. DEBUG_DATA_SPACE_MSR Die Model-Specific Register (MSRs) des Ziels wurden geändert. DEBUG_DATA_SPACE_BUS_DATA Der Busspeicher des Ziels wurde geändert. - DEBUG_CDS_REFRESH
-
Die folgende Tabelle enthält die möglichen Werte von Argument.
Wert 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
Rückgabewert
Der Rückgabewert wird von der Engine ignoriert, es sei denn, er weist auf einen Remoteprozeduraufruffehler hin. In diesem Fall ist der Client, bei dem dieses IDebugEventCallbacks-Objekt registriert ist, deaktiviert.
Hinweise
Die Engine ruft ChangeDebuggeeState nur auf, wenn das DEBUG_EVENT_CHANGE_DEBUGGEE_STATE-Flag in der von IDebugEventCallbacks::GetInterestMask zurückgegebenen Maske festgelegt ist.
Weitere Informationen zur Behandlung von Ereignissen finden Sie unter Überwachen von Ereignissen. Informationen zum Verwalten des Speichers des Ziels, einschließlich Registern und Datenbereichen, finden Sie unter Arbeitsspeicherzugriff. Informationen zum virtuellen und physischen Arbeitsspeicher des Ziels finden Sie unter Virtueller und physischer Arbeitsspeicher. Informationen zum Steuerungsspeicher, E/A-Ports, MSR und Busspeicher des Ziels finden Sie unter Andere Datenräume.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | dbgeng.h (dbgeng.h einschließen) |