Informazioni sugli eventi
Ogni volta che una sessione di debug è accessibile, è presente un ultimo evento. Questo è l'evento che ha causato l'accessibilità della sessione. La destinazione dell'evento è la destinazione che ha generato l'ultimo evento. Quando la sessione diventa accessibile, la destinazione corrente viene impostata sulla destinazione dell'evento. I dettagli dell'ultimo evento vengono restituiti da GetLastEventInformation. Il puntatore all'istruzione per l'ultimo evento e la memoria nel puntatore all'istruzione quando si è verificato l'evento vengono restituiti dalle operazioni RequestDEBUG_REQUEST_GET_CAPTURED_EVENT_CODE_OFFSET e DEBUG_REQUEST_READ_CAPTURED_EVENT_CODE_STREAM.
Se la destinazione è un file di dump di arresto anomalo del sistema, l'ultimo evento è l'ultimo evento che si è verificato prima della creazione del file di dump. Questo evento viene archiviato nel file dump e il motore lo genera per i callback degli eventi quando il file dump viene acquisito come destinazione di debug.
Se la destinazione è una destinazione in modalità kernel e si è verificato un controllo di bug , è possibile trovare il codice di controllo dei bug e i parametri correlati usando ReadBugCheckData.
Se la destinazione è un minidump in modalità utente, il generatore di file di dump può archiviare un evento aggiuntivo. In genere, si tratta dell'evento che ha provocato il generatore per salvare il file di dump. I dettagli di questo evento vengono restituiti da GetStoredEventInformation e le operazioni requestDEBUG_REQUEST_TARGET_EXCEPTION_CONTEXT, DEBUG_REQUEST_TARGET_EXCEPTION_THREAD e DEBUG_REQUEST_TARGET_EXCEPTION_RECORD.
I file di dump possono contenere un elenco statico di eventi. Ogni evento rappresenta uno snapshot della destinazione in un determinato momento. Il numero di eventi in questo elenco viene restituito da GetNumberEvents. Per una descrizione di ogni evento nell'elenco, usare GetEventIndexDescription. Per impostare un evento da questo elenco come evento corrente, utilizzare il metodo SetNextEventIndex; dopo aver chiamato WaitForEvent, l'evento diventa l'evento corrente. Per determinare quale evento nell'elenco è l'evento corrente, usare GetCurrentEventIndex.