Metodo IDebugEventCallbacks::ChangeDebuggeeState (dbgeng.h)
Il metodo di callback ChangeDebuggeeState viene chiamato dal motore quando apporta o rileva modifiche alla destinazione.
Sintassi
HRESULT ChangeDebuggeeState(
[in] ULONG Flags,
[in] ULONG64 Argument
);
Parametri
[in] Flags
Specifica il tipo di modifiche apportate alla destinazione. I flag possono accettare uno dei valori seguenti:
Valore | Descrizione |
---|---|
DEBUG_CDS_ALL | Si è verificata una modifica generale nella destinazione. Ad esempio, la destinazione è stata eseguita o il motore è appena collegato alla destinazione. |
DEBUG_CDS_REGISTERS | I registri del processore per la destinazione sono stati modificati. |
DEBUG_CDS_DATA | Lo spazio dati della destinazione è stato modificato. |
DEBUG_CDS_REFRESH | Informare i client GUI per aggiornare le finestre del debugger. |
[in] Argument
Fornisce informazioni aggiuntive sulla modifica nella destinazione. L'interpretazione del valore di Argument dipende dal valore di Flags:
- DEBUG_CDS_ALL
- Il valore di Argument è zero.
- DEBUG_CDS_REGISTERS
- Se un singolo registro è stato modificato, il valore di Argument è l'indice di tale registro. In caso contrario, il valore di Argument è DEBUG_ANY_ID.
- DEBUG_CDS_DATA
-
Il valore di Argument specifica quale spazio dati è stato modificato. La tabella seguente contiene i valori possibili di Argument.
Valore Descrizione DEBUG_DATA_SPACE_VIRTUAL La memoria virtuale della destinazione è cambiata. DEBUG_DATA_SPACE_PHYSICAL La memoria fisica della destinazione è cambiata. DEBUG_DATA_SPACE_CONTROL La memoria del controllo di destinazione è cambiata. DEBUG_DATA_SPACE_IO Le porte di I/O della destinazione hanno ricevuto input o output. DEBUG_DATA_SPACE_MSR Le Model-Specific registri di destinazione sono state modificate. DEBUG_DATA_SPACE_BUS_DATA La memoria del bus di destinazione è cambiata. - DEBUG_CDS_REFRESH
-
La tabella seguente contiene i valori possibili di Argument.
Valore 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
Valore restituito
Il valore restituito viene ignorato dal motore a meno che non indichi un errore di chiamata di procedura remota; in questo caso il client, con cui viene registrato l'oggetto IDebugEventCallbacks , è disabilitato.
Commenti
Il motore chiama ChangeDebuggeeState solo se il flag DEBUG_EVENT_CHANGE_DEBUGGEE_STATE è impostato nella maschera restituita da IDebugEventCallbacks::GetInterestMask.
Per altre informazioni sulla gestione degli eventi, vedere Monitoraggio degli eventi. Per informazioni sulla gestione della memoria della destinazione, inclusi i registri e gli spazi dati, vedere Accesso alla memoria. Per informazioni sulla memoria virtuale e fisica della destinazione, vedere Memoria virtuale e fisica. Per informazioni sulla memoria di controllo di destinazione, porte di I/O, MSR e memoria del bus, vedere Altri spazi dati.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | dbgeng.h (include Dbgeng.h) |