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)