Fonctionnalités IntelliTrace (C#, Visual Basic, C++)

Vous pouvez utiliser IntelliTrace pour enregistrer les événements et les appels de méthode dans votre application, ce qui vous permet d'examiner son état (pile des appels et valeurs des variables locales) à différents stades de l'exécution. Commencez le débogage comme d’habitude. IntelliTrace est activé par défaut et les informations qu’IntelliTrace enregistre sont affichées dans la nouvelle fenêtre Outils de diagnostic sous l’onglet Événements. Sélectionnez un événement, puis cliquez sur Activer le débogage historique pour voir la pile des appels et les variables locales enregistrées pour cet événement.

Pour obtenir une description étape par étape, consultez Procédure pas à pas : utilisation d'IntelliTrace.

IntelliTrace est disponible dans Visual Studio Enterprise Edition, mais pas dans les éditions Visual Studio Professional ou Community.

Pour vérifier qu’IntelliTrace est activé, ouvrez la page d’options Outils > Options IntelliTrace>. L’option Activer IntelliTrace doit être activée par défaut.

Notes

L’étendue de tous les paramètres dans la page d’options IntelliTrace est Visual Studio tout entier, et non pas des projets ou des solutions spécifiques. Une modification de ces paramètres s'applique à toutes les instances de Visual Studio, à toutes les sessions de débogage et à tous les projets ou solutions.

Sélectionner les événements enregistrés par IntelliTrace (C#, Visual Basic)

Vous pouvez activer ou désactiver l'enregistrement d'événements IntelliTrace spécifiques.

Si vous êtes en cours de débogage, interrompez-le. Accédez à Outils > Options > IntelliTrace > Événements IntelliTrace. Choisissez les événements IntelliTrace à enregistrer.

Collecter des captures instantanées (C#, Visual Basic, C++)

Cette fonction n’est pas activée par défaut, mais IntelliTrace peut capturer des instantanés de votre application à chaque point d’arrêt et à chaque événement d’étape du débogueur, et vous pouvez afficher ces captures instantanées dans une session de débogage historique. Une capture instantanée vous donne une vue de l’état complet de votre application. Pour activer la capture d’instantanés, accédez à Outils > Options > IntelliTrace > Général, puis sélectionnez Captures instantanées IntelliTrace (managées et natives). Pour plus d’informations, consultez Inspecter les précédents états des applications à l’aide d’IntelliTrace.

Les captures instantanées sont disponible dans Visual Studio Enterprise 2017 version 15.5 et versions ultérieures, et nécessitent la Mise à jour anniversaire Windows 10 ou version ultérieure. Pour les applications .NET Core et ASP.NET Core, la version 15.7 de Visual Studio Enterprise 2017 est nécessaire. Pour les applications natives ciblant Windows, Visual Studio Enterprise 2017 version 15.9 préversion 2 est nécessaire.

Recueillir des événements IntelliTrace et des informations sur les appels (C#, Visual Basic)

Cette fonctionnalité n’est pas activée par défaut, mais IntelliTrace peut enregistrer les appels de méthode en plus des événements. Pour activer la collecte des appels de méthode, accédez à Outils > Options > IntelliTrace > Général, puis sélectionnez Événements IntelliTrace et informations d’appel (managés uniquement.

Les informations d’appel ne sont actuellement pas disponibles pour les applications .NET Core et ASP.NET Core.

Cette opération vous permet de consulter l'historique de la pile des appels et de vous déplacer vers l'arrière ou vers l'avant dans les appels de votre code. IntelliTrace enregistre des données comme les noms des méthodes, les points d'entrée et de sortie des méthodes, ainsi que certaines valeurs de paramètres et de retour.

Conseil

Cette option n'est pas activée par défaut, car elle ajoute une charge considérable. Non seulement IntelliTrace doit intercepter chaque appel de méthode effectué par votre application, mais il doit également gérer un ensemble beaucoup plus vaste de données en ce qui concerne l'affichage à l'écran ou la conservation sur disque.

Vous pouvez réduire la surcharge de performances en limitant la liste des événements enregistrés par IntelliTrace et en réduisant au minimum le nombre de modules que vous collectez. Pour plus d’informations, consultez Vérifier le nombre d’informations sur les appels qu’IntelliTrace enregistre.

Utiliser la marge de navigation

Vous pouvez utiliser la marge de navigation affichée à gauche de la fenêtre de code. Si la marge de navigation n’est pas visible, accédez à Outils > Options > IntelliTrace > Avancé, puis sélectionnez Afficher la marge de navigation en mode débogage.

La marge de navigation vous permet de vous déplacer vers l'avant et vers l'arrière parmi les appels de méthode et les événements en mode de débogage d'historique. Pour plus d’informations sur le débogage d’historique, consultez Débogage d’historique. Elle comporte plusieurs commandes :

Commande Description
Définir 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 la pile des appels actuelle.
Revenir au site d’appel Déplacez le pointeur et le contexte de débogage en remontant jusqu'au moment où la fonction active a été appelée.

Si vous êtes en mode de débogage réel cette commande active le débogage d'historique. Si vous revenez à l'arrêt d'exécution d'origine, le débogage d'historique est désactivé et le débogage réel est activé.
Aller à l’appel ou l’événement IntelliTrace précédent Déplacez le pointeur et le contexte de débogage en remontant jusqu'à l'appel ou l'événement précédent.

Si vous êtes en mode de débogage réel, cette commande active le débogage d'historique.
Pas à pas détaillé Effectuer un pas à pas détaillé dans la fonction sélectionnée.

Cette commande est disponible uniquement quand vous êtes en mode de débogage d'historique.
Aller à l’appel ou l’événement IntelliTrace suivant Déplacez le pointeur et le contexte de débogage en avançant jusqu'à l'appel ou l'événement suivant pour lequel il existe des données IntelliTrace.

Cette commande est disponible uniquement quand vous êtes en mode de débogage d'historique.
Aller à Mode réel Revenir au débogage réel

Rechercher une ligne ou une méthode dans IntelliTrace

Vous pouvez rechercher des méthodes uniquement quand les informations sur les appels de méthode ont été activées. Vous pouvez consulter l'historique d'IntelliTrace à la recherche d'une ligne ou d'une méthode spécifique. Quand l’exécution du débogueur est interrompue, cliquez avec le bouton droit dans le corps de la fonction pour afficher le menu contextuel et cliquez sur Rechercher cette ligne dans IntelliTrace ou Rechercher cette méthode dans IntelliTrace.

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

Par défaut, IntelliTrace enregistre des informations pour tous les modules utilisés par votre solution. Vous pouvez configurer IntelliTrace pour qu'il enregistre des informations sur les appels uniquement pour les modules qui vous intéressent. Dans Outils > Options > IntelliTrace > Modules, vous pouvez spécifier les modules à inclure ou à exclure d’IntelliTrace. IntelliTrace recueille uniquement les événements provenant des modules que vous avez spécifiés et les appels de méthode qui se sont produits dans les modules qui vous intéressent.

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.

Essayez de réduire le nombre de modules au minimum. Vous obtiendrez de meilleures performances car il y aura moins de données à recueillir. Vous obtiendrez également moins de bruit dans l'interface utilisateur car il y aura moins de données à parcourir.

Enregistrer des données IntelliTrace dans un fichier (C#, Visual Basic, C++)

Vous pouvez enregistrer les données recueillies par IntelliTrace en accédant à Déboguer > IntelliTrace > Enregistrer la session IntelliTrace pendant que vous déboguez et que l’application est dans un état d’arrêt. L'élément de menu est désactivé et vous ne pourrez pas enregistrer les données recueillies par IntelliTrace si l'application est encore en cours d'exécution ou si vous avez arrêté le débogage.

Vous pouvez configurer IntelliTrace pour enregistrer automatiquement les données dans un fichier en accédant à Outils > Options > IntelliTrace > Avancé et en sélectionnant Stocker les enregistrements IntelliTrace dans ce répertoire. Vous pouvez aussi configurer une taille fixe pour le fichier généré. Dans ce cas, IntelliTrace remplace les anciennes données quand l'espace libre est insuffisant. Visual Studio crée deux fichiers pour chaque session IntelliTrace quand elles sont enregistrées automatiquement et que le processus d'hébergement Visual Studio (vshost.exe) est activé.

Conseil

Pour économiser de l’espace disque, désactivez l’enregistrement automatique des fichiers quand vous n’en avez plus besoin. Les fichiers existants ne seront pas supprimés. Vous pouvez toujours enregistrer les données dans un fichier à la demande à partir du menu contextuel.

Quand vous enregistrez des données IntelliTrace dans un fichier, vous obtenez un fichier .itrace pour chaque processus à partir duquel IntelliTrace a recueilli des données. Vous pouvez ensuite ouvrir le fichier .itrace dans Visual Studio en accédant à Fichier > Ouvrir > Fichier et en sélectionnant le fichier .itrace dans la boîte de dialogue Ouvrir un fichier. Pour plus d’informations, consultez Utilisation des données IntelliTrace enregistrées.

Blogs

IntelliTrace dans Visual Studio Enterprise 2015

IntelliTrace dans Visual Studio Enterprise 2015 prend désormais en charge l’attachement !

Collecter des données à partir d’un service Windows à l’aide du collecteur autonome IntelliTrace

Modification du plan de collection IntelliTrace

TraceSource personnalisé et débogage à l’aide d’IntelliTrace

Collecteur autonome IntelliTrace et pools d’applications s’exécutant sous les comptes Active Directory

Forums

Débogueur Visual Studio