Partager via


Débogage de voyage dans le temps - Enregistrer une trace

Logo de débogage avec voyage dans le temps mettant en vedette une horloge.

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.

  1. Dans WinDbg, sélectionnez Fichier>Démarrer le débogage>Lancer l’exécutable (avancé).

  2. 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.

  3. Cochez la case Enregistrer avec le débogage de voyage dans le temps pour enregistrer une trace lorsque l’exécutable est lancé.

    Capture d’écran de WinDbg avec la case de début d’enregistrement cochée dans l’écran de lancement de l’exécutable (avancé).

  4. Si vous sélectionnez Configurer et enregistrer, vous pourrez configurer un emplacement pour le fichier de trace.

    Capture d’écran de la boîte de dialogue Configuration d’enregistrement avec le bouton Parcourir et le chemin d’accès au fichier affiché.

  5. 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.

    Capture d’écran de la boîte de dialogue Configuration d’enregistrement avec l’option Enregistrer un sous-ensemble de l’exécution activée et la zone de texte de la liste des modules.

  6. Sélectionnez OK pour lancer l’exécutable et commencer l’enregistrement.

  7. La boîte de dialogue d’enregistrement apparaît, indiquant que la trace est en cours d’enregistrement.

    Capture d’écran de la boîte de dialogue d’enregistrement TTD avec les boutons Arrêter et Déboguer, et Annuler.

  8. 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.

  1. Dans WinDbg, sélectionnez Fichier>Démarrer le débogage>Attacher à un processus.

  2. 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.

    Capture d’écran de WinDbg affichant la case de début d’enregistrement dans l’écran Attacher au processus.

  3. 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é.

  4. Sélectionnez Attacher pour commencer l’enregistrement.

  5. La boîte de dialogue d’enregistrement apparaît, indiquant que la trace est en cours d’enregistrement.

    Capture d’écran de la boîte de dialogue d’enregistrement TTD avec les options Arrêter et Déboguer, et Annuler.

  6. Veuillez consulter la rubrique Comment enregistrer pour obtenir des informations sur l’enregistrement.

Comment enregistrer

  1. 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.

  2. 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.
  3. 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é.

  4. 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.

  5. 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é.

  6. À 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

Voir aussi

Débogage de voyage dans le temps - Vue d’ensemble