Event Information (Informations de l’événement)

Chaque fois qu’une session de débogage est accessible, il existe un dernier événement. Il s’agit de l’événement qui a provoqué l’accessibilité de la session. La cible d’événement est la cible qui a généré le dernier événement. Lorsque la session devient accessible, la cible actuelle est définie sur la cible d’événement. Les détails du dernier événement sont retournés par GetLastEventInformation. Le pointeur d’instruction pour le dernier événement et la mémoire au niveau du pointeur d’instruction lorsque l’événement s’est produit sont retournés par les opérations de requêteDEBUG_REQUEST_GET_CAPTURED_EVENT_CODE_OFFSET et DEBUG_REQUEST_READ_CAPTURED_EVENT_CODE_STREAM.

Si la cible est un fichier de vidage sur incident, le dernier événement est le dernier événement qui s’est produit avant la création du fichier de vidage. Cet événement est stocké dans le fichier de vidage et le moteur le génère pour les rappels d’événements lorsque le fichier de vidage est acquis en tant que cible de débogage.

Si la cible est une cible en mode noyau et qu’une vérification de bogue s’est produite, le code de vérification des bogues et les paramètres associés sont disponibles à l’aide de ReadBugCheckData.

Si la cible est un Minidump en mode utilisateur, le générateur de fichiers de vidage peut stocker un événement supplémentaire. En règle générale, il s’agit de l’événement qui a provoqué le générateur pour enregistrer le fichier de vidage. Les détails de cet événement sont retournés par GetStoredEventInformation et les opérations de requêteDEBUG_REQUEST_TARGET_EXCEPTION_CONTEXT, DEBUG_REQUEST_TARGET_EXCEPTION_THREAD et DEBUG_REQUEST_TARGET_EXCEPTION_RECORD.

Les fichiers de vidage de mémoire peuvent contenir une liste statique d’événements. Chaque événement représente un instantané de la cible à un point particulier dans le temps. Le nombre d’événements de cette liste est retourné par GetNumberEvents. Pour obtenir une description de chaque événement de la liste, utilisez GetEventIndexDescription. Pour définir un événement à partir de cette liste comme événement actuel, utilisez la méthode SetNextEventIndex ; après avoir appelé WaitForEvent, l’événement devient l’événement actuel. Pour déterminer quel événement de la liste est l’événement actuel, utilisez GetCurrentEventIndex.