Partager via


Enregistrer l'exécution du code avec IntelliTrace pour le débogage dans Visual Studio

Pour enregistrer et effectuer le suivi de l'historique d'exécution de votre code ou de votre application à l'aide d'IntelliTrace dans Visual Studio Ultimate, il vous suffit de démarrer le débogage selon la procédure habituelle.Par défaut, IntelliTrace est activé et enregistre automatiquement des événements et des données spécifiques afin comprendre plus facilement ce qui s'est produit dans votre application.Consultez Déboguer votre application en enregistrant l'exécution du code avec IntelliTrace.

Pour vous assurer qu'IntelliTrace est activé :

Activer ou désactiver IntelliTrace dans Visual Studio

[!REMARQUE]

Le fait de décocher Activer IntelliTrace désactive toutes les configurations personnalisées d'IntelliTrace.Ces paramètres s'appliquent à tous les projets et solutions.Ils sont conservés entre les sessions de débogage et les sessions Visual Studio.

Que voulez-vous faire ?

  • Déboguer avec des événements uniquement

  • Sélectionner des événements enregistrés par IntelliTrace

  • Déboguer avec des événements et des informations sur les appels

  • Vérifier le nombre d'informations sur les appels qu'IntelliTrace enregistre

  • Enregistrer votre session IntelliTrace

Déboguer avec des événements uniquement

Essayez un débogage à l'aide d'événements IntelliTrace uniquement pour voir si, utilisés seuls, ils peuvent vous aider à trouver le bogue.Les événements IntelliTrace sont des événements de débogueur, des exceptions, des événements .NET Framework et autres événements système.Activez ou désactivez les événements spécifiques afin de vérifier les événements qu'IntelliTrace enregistre, mais cette opération doit être effectuée avant de commencer le débogage.

Voici une vue d'ensemble visuelle à propos du débogage avec des événements IntelliTrace uniquement :

Événements IntelliTrace uniquement - reproduire le bogue

Événements IntelliTrace uniquement - code et détails de l'événement

Événements IntelliTrace uniquement - bogue détecté

Retour au début

Voici les procédures détaillées à suivre pour déboguer avec des événements IntelliTrace uniquement :

  1. Démarrez le débogage selon la procédure habituelle.Reproduisez le bogue.

    ConseilConseil

    Conservez les fenêtres Variables locales et Automatique ouvertes pour consulter et enregistrer les valeurs qui s'y affichent.Pour démarrer le débogage, appuyez sur la touche F5 ou dans le menu Déboguer, sélectionnez Démarrer le débogage.Si vous ne voyez pas la fenêtre IntelliTrace lorsque vous démarrez le débogage, IntelliTrace n'est peut-être pas activé ou il est possible que la fenêtre soit fermée.Pour ouvrir la fenêtre IntelliTrace, accédez à Déboguer, IntelliTrace, Événements IntelliTrace.

  2. Interrompez l'exécution de votre application manuellement.

    ConseilConseil

    Dans le menu Déboguer ou dans la fenêtre IntelliTrace, sélectionnez Tout interrompre.

    Une liste chronologique d'événements s'affiche dans la fenêtre IntelliTrace, commençant par le premier événement et se terminant par le dernier au moment où l'exécution a été interrompue par le débogueur.

    Fenêtre IntelliTrace affichant des événements de diagnostic

  3. Recherchez l'événement le plus proche du moment où vous avez reproduit le bogue, dans ce cas, avant l'interruption de l'exécution par votre application.

  4. Sélectionnez l'événement dont vous souhaitez développer les détails.

    • Si le code source est disponible, Visual Studio déplace le pointeur jusqu'au code correspondant dans la fenêtre source afin de pouvoir en faire l'examen.

    • Pour consulter les données qu'IntelliTrace a enregistrées lors de l'événement, cliquez sur un des liens Affichages associés pour afficher la fenêtre du débogueur correspondante.

    • Si l'événement est un événement d'accès au fichier, cliquez sur le lien du nom de chemin d'accès pour ouvrir le fichier.Si le nom de chemin d'accès complet n'est pas disponible, recherchez le fichier à l'aide de la zone de recherche qui apparaît.

  5. Si vous ne trouvez pas le bogue, essayez de tester d'autres événements aboutissant au bogue.Vous disposez également des informations sur les appels d'enregistrement IntelliTrace afin de pouvoir exécuter pas à pas les appels de fonction.

Retour au début

Dd572114.collapse_all(fr-fr,VS.110).gifSélectionner des événements enregistrés par IntelliTrace

Activez ou désactivez l'enregistrement d'événements IntelliTrace spécifiques, à l'exception des événements et des exceptions du débogueur, qui sont systématiquement enregistrés par IntelliTrace.

  1. Si vous êtes en cours de débogage, interrompez-le.Dans le cas contraire, redémarrez le débogage après avoir sélectionné les événements.

  2. Accédez à Outils, Options, IntelliTrace, Événements IntelliTrace.Sélectionnez les événements et les catégories d'événement à enregistrer par IntelliTrace.

    Configurer une collection d'événements pour IntelliTrace

Retour au début

Déboguer avec des événements et des informations sur les appels

Si vous devez examiner la séquence d'appel de la fonction de votre application pour rechercher le bogue, IntelliTrace peut enregistrer des appels de fonction avec des événements.Cela vous permet de consulter l'historique de la pile des appels, d'exécuter pas à pas (vers l'avant et vers l'arrière) les appels dans votre code, et de consulter les données qu'IntelliTrace a enregistrées telles que des noms de fonction, des points d'entrée et de sortie, et certaines valeurs de paramètre et valeurs de retour.Consultez Déboguer votre application en enregistrant l'exécution du code avec IntelliTrace.

  1. Si vous êtes en cours de débogage, interrompez-le.Sinon, redémarrez le débogage après avoir activé la collecte d'appels.

  2. Activez la collecte d'appels.

    Configurer une collection d'appels pour IntelliTrace

    ConseilConseil

    Cela peut ralentir votre application et augmenter la taille de tous les fichiers journaux IntelliTrace (fichiers .iTrace) que vous enregistrez sur le disque.Pour obtenir des données d'appel tout en réduisant les effets indésirables, n'enregistrez que les données des modules qui vous intéressent.Pour modifier la taille maximale de vos fichiers .iTrace, accédez à Outils, Options, IntelliTrace, Avancé.

  3. Démarrez le débogage selon la procédure habituelle.Reproduisez le bogue.

    ConseilConseil

    Conservez les fenêtres Variables locales et Automatique ouvertes pour consulter et enregistrer les valeurs qui s'y affichent.Pour démarrer le débogage, appuyez sur la touche F5 ou dans le menu Déboguer, sélectionnez Démarrer le débogage.Si vous ne voyez pas la fenêtre IntelliTrace lorsque vous démarrez le débogage, IntelliTrace n'est peut-être pas activé ou il est possible que la fenêtre soit fermée.Pour ouvrir la fenêtre IntelliTrace, accédez à Déboguer, IntelliTrace, Événements IntelliTrace.

  4. Interrompez l'exécution de votre application manuellement.

    ConseilConseil

    Dans le menu Déboguer ou dans la fenêtre IntelliTrace, sélectionnez Tout interrompre.

  5. Recherchez l'événement le plus proche du moment où vous avez reproduit le bogue.Consultez Débogage avec événements uniquement.

  6. Sélectionnez l'événement dont vous souhaitez développer les détails.En regard de Affichages associés, sélectionnez Affichage des appels.

    Fenêtre IntelliTrace affichant des événements de diagnostic

    S'affiche alors l'historique de la pile des appels de votre application, avec de haut en bas, l'appel de la racine de votre application et l'appel en cours par rapport à l'événement sélectionné, et non pas en temps réel.

    Vu des appels de la fenêtre IntelliTrace

    En retrait, sous l'appel en cours, une autre liste répertorie les appels que l'appel actuel a effectués à d'autres fonctions.La liste en retrait de liste affiche également les événements IntelliTrace pour l'appel en cours.

    [!REMARQUE]

    Les appels apparaissent grisés car IntelliTrace n'a pas enregistré les données des modules correspondants.Pour afficher ces données, configurez la collecte des données de ces modules à l'aide d'IntelliTrace.

  7. Recherchez l'appel qui suit l'événement que vous avez choisi.Double-cliquez sur cet appel afin d'en effectuer un pas à pas.

    Dans la fenêtre Affichage des appels, l'appel que vous effectuez pas à pas est désormais le nouvel appel en cours situé au bas de la pile des appels.Dans la liste mise en retrait, s'affichent alors des appels et des événements pour ce nouvel appel en cours.La fenêtre source et les fenêtres du débogueur sont également mises à jour selon ce nouvel appel en cours.

    ConseilConseil

    Pour une simple consultation du site d'appel, cliquez une fois sur l'appel dans la fenêtre Affichage des appels (sans double-cliquer).Le pointeur se déplace alors vers le site d'appel mais ne parcourt pas l'appel afin de vous permettre de rester sur l'appel en cours.

  8. Pour parcourir des appels et des événements, utilisez la marge de navigation qui apparaît à côté de la fenêtre source lorsque les informations sur les appels sont disponibles.Si la marge de navigation ne s'affiche pas, accédez à Outils, Options, IntelliTrace, Avancé.Sélectionnez Afficher la marge de navigation en mode débogage.

    Définissez le contexte du débogueur ici

    Définissez le contexte du débogueur en fonction du moment auquel apparaît l'appel.

    Cette icône apparaît uniquement sur chaque image de la pile des appels en cours.

    Retourner au site d'appel

    Déplacez le pointeur et le contexte de débogage en remontant dans le temps jusqu'au moment où la fonction en cours a été appelée.

    Si vous utilisez le mode de débogage traditionnel, cette commande vous oblige à démarrer le débogage avec IntelliTrace.

    Accédez à l'appel ou à l'événement IntelliTrace précédent

    Déplacez le pointeur et le contexte de débogage en remontant dans le temps jusqu'à l'appel ou l'événement précédent.

    Si vous utilisez le nœud de débogage traditionnel, cette commande vous oblige à démarrer le débogage avec IntelliTrace.

    Pas à pas détaillé

    Déplacez le pointeur et le contexte de débogage en avançant dans le temps jusqu'à la fonction actuellement sélectionnée.

    Cette commande est disponible uniquement lorsque vous procédez à un débogage à l'aide d'IntelliTrace.

    Aller à l'appel ou l'événement IntelliTrace suivant

    Déplacez le pointeur et le contexte de débogage en avançant dans le temps jusqu'à l'appel ou événement suivants pour lesquels des données IntelliTrace existent.

    Cette commande est disponible uniquement lorsque vous procédez à un débogage à l'aide d'IntelliTrace.

    Aller au mode Réel

    Revenez au débogage traditionnel où vous avez commencé votre débogage à l'aide d'IntelliTrace.

  9. Pour trouver l'instance spécifique d'un appel, recherchez l'historique d'IntelliTrace des instances enregistrées de cet appel :

    1. À partir d'une ligne de code d'où l'appel est effectué :

      Rechercher une instance d'appel pendant le débogage IntelliTrace

      [!REMARQUE]

      Si la ligne est une sortie de méthode, les résultats obtenus ne sont pas exacts.

      - ou -

      À partir de l'intérieur du corps de la fonction appelée :

      1. Le fichier projet contenant la fonction doit être ouvert dans Visual Studio.

      2. Ouvrez le menu contextuel à l'intérieur du corps de la fonction.Sélectionnez Rechercher cette méthode dans IntelliTrace.

    2. Parcourez les résultats pour trouver l'instance qui vous intéresse.Sélectionnez l'instance pour synchroniser la fenêtre Affichage des appels et examinez les données enregistrées pour cette instance.

Retour au début

Dd572114.collapse_all(fr-fr,VS.110).gifVérifiez le nombre d'informations sur les appels qu'IntelliTrace enregistre

Vous pouvez disposer des informations IntelliTrace sur l'enregistrement des appels uniquement pour les modules qui vous intéressent.Cela peut également améliorer les performances de votre application.

Pour ajouter plusieurs modules, utilisez le caractère générique * au début ou à la fin de la chaîne.Pour les noms de modules, utilisez des noms de fichiers, et non des noms d'assemblys.Les chemins d'accès de fichiers ne sont pas acceptés.

Configurer une collection de modules pour IntelliTrace

[!REMARQUE]

Des modules peuvent également être exclus lors de la collecte de données à partir de modules qui ne vous intéressent pas, tels que des modules tiers ou des modules open source.

Retour au début

Enregistrer votre session IntelliTrace

Pour poursuivre votre session ultérieurement, enregistrez-la en tant que fichier journal IntelliTrace (fichier .iTrace).

Enregistrez votre session manuellement

Enregistrer IntelliTrace manuellement dans Visual Studio

Enregistrez votre session automatiquement

Enregistrer automatiquement une session IntelliTrace

ConseilConseil

Pour économiser de l'espace disque, désactivez l'enregistrement des fichiers .iTrace lorsque vous n'en avez plus besoin.Tous les fichiers .iTrace existants resteront.

La taille par défaut du fichier .iTrace est définie par Visual Studio à 250 Mo car IntelliTrace peut collecter un grand nombre de données.Au delà de cette limite, les entrées antérieures sont supprimées pour faire de la place aux nouvelles.Pour enregistrer un plus grand nombre de données, modifiez la valeur par défaut de taille maximale d'enregistrement du fichier.

Visual Studio crée deux fichiers .iTrace pour chaque session IntelliTrace lorsqu'elles sont enregistrées automatiquement et le processus d'hébergement Visual Studio (vshost.exe) est activé.Visual Studio crée un premier fichier .iTrace pour l'application et un second pour le processus d'hébergement.Ce processus améliore les performances de débogage, active certaines fonctionnalités de débogage, et est activé par défaut.

Quelles sont les données contenues dans le fichier .iTrace ?

Un fichier .iTrace contient des informations détaillées sur les exceptions, les threads, les requêtes Web, les données de test, les modules, et autres informations système.Lorsque vous ouvrez le fichier dans Visual Studio Ultimate, sélectionnez un élément, puis démarrez le débogage, vous pouvez passer à tout événement dans le fichier pour examiner le code connexe et les données enregistrées à propos de votre application à ce moment-là.Consultez Déboguer votre application avec les fichiers journaux IntelliTrace (.iTrace).

Pour déboguer des erreurs ou des pannes difficiles à reproduire dans votre environnement de développement et qui ont lieu pendant un test dans Microsoft Test Manager, essayez de configurer le Gestionnaire de tests afin de collecter des données IntelliTrace.Enregistrez ces données dans un fichier iTrace et attachez-le à un élément de travail de Team Foundation Server pour effectuer un examen approfondi.Consultez Comment : collecter des données IntelliTrace pour aider au débogage des problèmes difficiles.

Pour déboguer des erreurs ou des pannes qui se produisent alors que vous ne souhaitez pas modifier la configuration système, telles que des environnements de production, essayez d'utiliser le collecteur autonome pour enregistrer des données IntelliTrace dans un fichier .iTrace.Consultez Collecter des données IntelliTrace à l'extérieur de Visual Studio avec le collecteur autonome.

Retour au début

Où peut-on obtenir plus d'informations ?

Déboguer votre application en enregistrant l'exécution du code avec IntelliTrace

Inclusion de données de trace de diagnostic dans des bogues difficiles à reproduire

Collecter des données IntelliTrace à l'extérieur de Visual Studio avec le collecteur autonome

Déboguer votre application avec les fichiers journaux IntelliTrace (.iTrace)

Dd572114.collapse_all(fr-fr,VS.110).gifBlogs

Visual Studio ALM et Team Foundation Server.

Dd572114.collapse_all(fr-fr,VS.110).gifForums

Débogueur Visual Studio (page en anglais)

Dd572114.collapse_all(fr-fr,VS.110).gifAide

Test de livraison continue avec Visual Studio 2012 – Chapitre 6 : Une boîte à outils de test

Dd572114.collapse_all(fr-fr,VS.110).gifVideos

Vidéo Channel 9 : Collecte et analyse des données IntelliTrace pour le débogage