Share via


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)