Ereignisinformationen

Immer wenn auf eine Debugsitzung zugegriffen werden kann, gibt es ein letztes Ereignis. Dies ist das Ereignis, das den Zugriff auf die Sitzung verursacht hat. Das Ereignisziel ist das Ziel, das das letzte Ereignis generiert hat. Wenn auf die Sitzung zugegriffen wird, wird das aktuelle Ziel auf das Ereignisziel festgelegt. Die Details des letzten Ereignisses werden von GetLastEventInformation zurückgegeben. Der Anweisungszeiger für das letzte Ereignis und der Arbeitsspeicher am Anweisungszeiger, wenn das Ereignis aufgetreten ist, werden von den AnforderungsvorgängenDEBUG_REQUEST_GET_CAPTURED_EVENT_CODE_OFFSET und DEBUG_REQUEST_READ_CAPTURED_EVENT_CODE_STREAM zurückgegeben.

Wenn das Ziel eine Absturzabbilddatei ist, ist das letzte Ereignis das letzte Ereignis, das vor der Erstellung der Dumpdatei aufgetreten ist. Dieses Ereignis wird in der Dumpdatei gespeichert, und das Modul generiert es für die Ereignisrückrufe, wenn die Dumpdatei als Debugziel abgerufen wird.

Wenn das Ziel ein Kernelmodusziel ist und eine Fehlerüberprüfung aufgetreten ist, können der Fehlerüberprüfungscode und die zugehörigen Parameter mithilfe von ReadBugCheckData gefunden werden.

Wenn es sich bei dem Ziel um ein Minidump im Benutzermodus handelt, kann der Dumpdatei-Generator ein zusätzliches Ereignis speichern. In der Regel ist dies das Ereignis, das den Generator dazu bewegt hat, die Dumpdatei zu speichern. Details zu diesem Ereignis werden von GetStoredEventInformation und den Anforderungsvorgängen DEBUG_REQUEST_TARGET_EXCEPTION_CONTEXT, DEBUG_REQUEST_TARGET_EXCEPTION_THREAD und DEBUG_REQUEST_TARGET_EXCEPTION_RECORD zurückgegeben.

Dumpdateien können eine statische Liste von Ereignissen enthalten. Jedes Ereignis stellt eine Momentaufnahme des Ziels zu einem bestimmten Zeitpunkt dar. Die Anzahl der Ereignisse in dieser Liste wird von GetNumberEvents zurückgegeben. Verwenden Sie GetEventIndexDescription, um eine Beschreibung der einzelnen Ereignisse in der Liste zu erhalten. Verwenden Sie die Methode SetNextEventIndex, um ein Ereignis aus dieser Liste als aktuelles Ereignis festzulegen. nach dem Aufrufen von WaitForEvent wird das Ereignis zum aktuellen Ereignis. Verwenden Sie GetCurrentEventIndex, um zu bestimmen, welches Ereignis in der Liste das aktuelle Ereignis ist.