Débogage de voyage dans le temps - Enregistrer une trace
Cette section décrit comment enregistrer des traces de débogage de voyage dans le temps (TTD). Il existe deux façons d’enregistrer une trace dans WinDbg, Lancer l’exécutable (avancé) et Attacher à un processus.
Lancer l’exécutable (avancé)
Pour lancer un exécutable et enregistrer une trace TTD, suivez ces étapes.
Dans WinDbg, sélectionnez Fichier>Démarrer le débogage>Lancer l’exécutable (avancé).
Saisissez le chemin de l’exécutable en mode utilisateur que vous souhaitez enregistrer ou sélectionnez Parcourir pour naviguer jusqu’à l’exécutable. Pour obtenir plus d’informations sur l’utilisation du menu Lancer l’exécutable dans WinDbg, veuillez consulter la section WinDbg - Démarrer une session en mode utilisateur.
Cochez la case Enregistrer avec le débogage de voyage dans le temps pour enregistrer une trace lorsque l’exécutable est lancé.
Si vous sélectionnez Configurer et enregistrer, vous pourrez configurer un emplacement pour le fichier de trace.
Pour limiter l’enregistrement à des modules spécifiques, cochez « Enregistrer un sous-ensemble de l’exécution » et saisissez les noms des modules. Par exemple, si vous souhaitez uniquement enregistrer l’exécution de notepad.exe, saisissez « notepad.exe » dans la zone de texte. Si vous voulez enregistrer l’exécution de notepad.exe et kernelbase.dll, saisissez « notepad.exe,kernelbase.dll » dans la zone de texte.
Sélectionnez OK pour lancer l’exécutable et commencer l’enregistrement.
La boîte de dialogue d’enregistrement apparaît, indiquant que la trace est en cours d’enregistrement.
Veuillez consulter la rubrique Comment enregistrer pour obtenir des informations sur l’enregistrement.
Attacher à un processus
Pour attacher à un processus et enregistrer une trace TTD, suivez ces étapes.
Dans WinDbg, sélectionnez Fichier>Démarrer le débogage>Attacher à un processus.
Sélectionnez le processus en mode utilisateur que vous souhaitez tracer. Pour obtenir plus d’informations sur l’utilisation du menu Attacher à un processus dans WinDbg, veuillez consulter la rubrique WinDbg - Démarrer une session en mode utilisateur.
Cochez la case Enregistrer le processus avec le débogage de voyage dans le temps pour créer une trace lorsque l’exécutable est lancé.
Sélectionnez Attacher pour commencer l’enregistrement.
La boîte de dialogue d’enregistrement apparaît, indiquant que la trace est en cours d’enregistrement.
Veuillez consulter la rubrique Comment enregistrer pour obtenir des informations sur l’enregistrement.
Comment enregistrer
Le processus est en cours d’enregistrement, c’est donc ici que vous devez provoquer le problème que vous souhaitez déboguer. Vous pouvez ouvrir un fichier problématique ou sélectionner un bouton spécifique dans l’application pour déclencher l’événement d’intérêt.
Tant que la boîte de dialogue d’enregistrement est affichée, vous pouvez :
- Arrêter et déboguer : - En choisissant cette option, l’enregistrement s’arrête, le fichier de trace est créé et ouvert pour que vous puissiez commencer le débogage.
- Annuler : En choisissant cette option, l’enregistrement s’arrête et le fichier de trace est créé. Vous pouvez ouvrir le fichier de trace ultérieurement.
Une fois votre enregistrement terminé, fermez votre application ou appuyez sur Arrêter et déboguer.
Remarque
Tant Arrêter et déboguer que Annuler mettront fin au processus associé.
Lorsque l’application en cours d’enregistrement se termine, le fichier de trace est fermé et écrit sur le disque. C’est également le cas si votre programme plante.
Lorsqu’un fichier de trace est ouvert, le débogueur indexe automatiquement le fichier de trace. L’indexation permet des recherches de valeurs mémoire plus précises et plus rapides. Ce processus d’indexation prendra plus de temps pour les fichiers de trace plus volumineux.
... 00007ffc`61f789d4 c3 ret 0:000> !index Indexed 1/1 keyframes Successfully created the index in 96ms.
Remarque
Une image clé est un emplacement dans une trace utilisé pour l’indexation. Les images clés sont générées automatiquement. Les traces plus volumineuses contiendront plus d’images clés. Lorsque la trace est indexée, le nombre d’images clés est affiché.
À ce stade, vous êtes au début du fichier de trace et êtes prêt à voyager vers l’avant et vers l’arrière dans le temps.
Conseil
L’utilisation de points d’arrêt est une approche courante pour mettre en pause l’exécution du code à un événement d’intérêt. Unique à TTD, vous pouvez définir un point d’arrêt et revenir en arrière dans le temps jusqu’à ce que ce point d’arrêt soit atteint après l’enregistrement de la trace. La capacité à examiner l’état du processus après qu’un problème s’est produit, pour déterminer le meilleur emplacement pour un point d’arrêt, permet des flux de travail de débogage supplémentaires. Pour voir un exemple d’utilisation d’un point d’arrêt dans le passé, veuillez consulter la rubrique Débogage de voyage dans le temps - Parcours d’application d’exemple.
Étapes suivantes
Maintenant que vous avez enregistré une trace TTD, vous pouvez rejouer la trace ou travailler avec le fichier de trace, par exemple le partager avec un collègue. Pour plus d’informations, voir ces rubriques.
Débogage de voyage dans le temps - Rejouer une trace
Débogage de voyage dans le temps - Travail avec les fichiers de trace
Débogage de voyage dans le temps - Dépannage
Débogage de voyage dans le temps - Parcours d’application d’exemple