Condividi tramite


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. 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 è stato 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 dell'interfaccia utente grafica 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 del 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 di destinazione hanno ricevuto input o output.
DEBUG_DATA_SPACE_MSR I registri di Model-Specific di destinazione sono stati modificati.
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 questa IDebugEventCallbacks oggetto è registrato, è disabilitato.

Osservazioni

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 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 della destinazione, sulle porte di I/O, su MSR e sulla memoria del bus, vedere Altri spazi dati.

Fabbisogno

Requisito Valore
piattaforma di destinazione Desktop
intestazione dbgeng.h (include Dbgeng.h)