Collecte d'informations relatives à IntelliTrace

Avertissement

Remarque : Dans Visual Studio 2010 Ultimate Service Pack 1, IntelliTrace n'enregistre plus par défaut les fichiers journaux IntelliTrace (.iTrace) après la fermeture. Pour plus d'informations sur l'enregistrement de fichiers journaux Intellitrace, consultez Enregistrement de fichiers journaux dans cette rubrique.

Cette rubrique s'applique uniquement à Visual Studio 2010 Ultimate.

Par défaut, IntelliTrace est activé dans Visual Studio 2010 Ultimate. Au cours d'une session de débogage en direct, IntelliTrace fonctionne en arrière-plan, en collectant des informations IntelliTrace de manière automatique et invisible. La disponibilité de ces informations vous permet de basculer entre la session de débogage en direct et le débogage à l'aide d'IntelliTrace, ainsi que de « voyager dans le temps » grâce à votre code.

Par défaut, IntelliTrace collecte et consigne les informations des événements IntelliTrace sélectionnés uniquement. Les paramètres de collection par défaut affichent une baisse minimale. Ils n'affectent pas l'exécution de votre application, ni votre capacité à utiliser le débogueur Visual Studio.

La collection des appels et des paramètres permet à IntelliTrace de fournir des fonctions de débogage supplémentaires. Toutefois, la collection des appels et des paramètres compensera la baisse des performances, utilisera l'espace disque supplémentaire et désactivera la fonctionnalité Modifier && Continuer du débogueur Visual Studio. Vous devez évaluer les coûts et avantages pour votre application et votre scénario de débogage particuliers.

Les options de collection sont définies au niveau de Visual Studio. Elles s'appliquent à tous les projets et solutions Visual Basic et C#. Les options de collection sont persistantes entre les sessions de débogage et les sessions Visual Studio.

Dans cette rubrique

  • Enregistrement de fichiers journaux

  • Événements IntelliTrace

  • Appels et paramètres

  • Configuration de la collection par module

Enregistrement de fichiers journaux

Par défaut, IntelliTrace n'enregistre pas de fichiers journaux IntelliTrace (.iTrace) après la fermeture de Visual Studio. Vous pouvez modifier le comportement par défaut pour permettre à IntelliTrace d'enregistrer tous les fichiers journaux, ou vous pouvez enregistrer manuellement les fichiers journaux IntelliTrace, comme décrit dans les procédures suivantes.

Pour modifier par défaut le comportement du fichier journal IntelliTrace

  1. Dans le menu Outils, cliquez sur Options.

  2. Dans la liste de catégories d'options, développez le nœud IntelliTrace et cliquez sur Avancé.

  3. Exécutez l'une des tâches suivantes :

    1. Si vous souhaitez enregistrer tous les fichiers journaux IntelliTrace (.iTrace), sélectionnez Stocker les enregistrements IntelliTrace dans ce répertoire, puis spécifiez le chemin d'accès au dossier dans lequel vous souhaitez enregistrer les fichiers.

    2. Si vous souhaitez que les fichiers .iTrace soient supprimés au moment de fermer Visual Studio, à moins que vous ne les enregistriez manuellement, désactivez la case à cocher Stocker les enregistrements IntelliTrace dans ce répertoire.

  4. Cliquez sur OK pour enregistrer les modifications apportées.

Pour enregistrer manuellement un fichier journal IntelliTrace

  1. Cliquez sur le bouton Enregistrer la session IntelliTrace active dans la barre d'outils de la fenêtre IntelliTrace.

  2. Dans la boîte de dialogue Enregistrer sous, indiquez le nom du fichier sous lequel vous souhaitez enregistrer la session, puis cliquez sur Enregistrer.

Événements IntelliTrace

Les événements IntelliTrace sont des événements qui se produisent lors de l'exécution de votre application, qui peuvent être collectés par IntelliTrace. Les types d'événements qui peuvent être collectés par IntelliTrace sont les suivants :

  • Événements de débogueur. Il s'agit d'événements qui se produisent dans le débogueur de Visual Studio pendant que vous déboguez votre application. Le démarrage de votre application est un événement de débogueur. D'autres événements de débogueur sont les événements d'arrêt, qui sont des événements qui provoquent le passage de votre application à l'état d'arrêt. L'atteinte d'un point d'arrêt ou d'un point de trace, ou encore l'exécution d'une commande Étape sont des exemples d'événements d'arrêt.

    Pour des raisons de performance, IntelliTrace ne collecte pas toutes les valeurs pour chaque événement de débogueur. Au lieu de ça, IntelliTrace collecte les valeurs qui sont visibles à l'utilisateur. Si la fenêtre Automatique est ouverte, IntelliTrace collecte les valeurs qui sont visibles dans la fenêtre Automatique. Si la fenêtre Automatique est fermée, ces valeurs ne sont pas collectées.

    Si vous pointez vers une variable dans une fenêtre source, la valeur qui s'affiche dans le DataTip est collectée. Les valeurs d'un DataTip épinglé ne sont toutefois pas collectées.

  • Événements d'exception. Ceux-ci se produisent pour les exceptions prises en charge, aux points où l'exception est levée et interceptée, et pour les exceptions non gérées. IntelliTrace collecte le type d'exception et le message d'exception.

  • Événements Framework. Ceux-ci se produisent dans la bibliothèque .NET. Vous pouvez afficher une liste complète d'événements .NET qui peuvent être collectés dans la page Événements IntelliTrace de la boîte de dialogue Options. Les données collectées par IntelliTrace varient en fonction de l'événement. Pour un événement d'accès au fichier, IntelliTrace collecte le nom du fichier ; pour un événement de case à cocher, il collecte l'état et le texte de la case à cocher ; et ainsi de suite.

Pour consulter une liste d'événements IntelliTrace qui ont été collectés, cliquez sur l'onglet Événements IntelliTrace de la fenêtre IntelliTrace. Les événements de débogueur sont toujours collectés lorsqu'IntelliTrace est activé. Vous ne pouvez pas désactiver leur collection.

La plupart des événements .Framework communs sont collectés par défaut. Vous pouvez utiliser la procédure suivante pour sélectionner d'autres événements .NET. De plus, vous pouvez désactiver la collection d'une partie ou de tous les événements .NET. Pour réduire l'encombrement dans la fenêtre IntelliTrace, il se peut que vous souhaitiez désactiver la collection des événements qui ne vous intéressent pas. L'activation ou la désactivation de la collection d'événements spécifiques n'a généralement que peu d'effet sur les performances de l'application.

Pour sélectionner les événements IntelliTrace à enregistrer

  1. Dans la barre d'outils de la fenêtre IntelliTrace, cliquez sur l'icône Ouvrir les paramètres IntelliTrace.

    - ou -

    1. Dans le menu Outils, cliquez sur Options.

    2. Dans la boîte de dialogue Options, pointez sur le nœud IntelliTrace, puis cliquez sur Général.

  2. Vérifiez que Activer IntelliTrace est sélectionné.

    Notes

    La désactivation de la case à cocher Activer IntelliTrace désactive tous les paramètres personnalisés.

  3. Sous le nœud IntelliTrace, cliquez sur Événements IntelliTrace.

  4. Jetez un œil à la zone Événements IntelliTrace pour rechercher des catégories d'événements qui vous intéressent.

    1. Pour consulter des événements particuliers, cliquez sur le contrôle d'arborescence situé en regard du nom Catégorie. Par exemple, vous pouvez développer Registre pour consulter des événements de Registre spécifiques tels que ClosedRegistryKey.

    2. Pour activer ou désactiver l'enregistrement de l'ensemble d'une catégorie d'événements, activez ou désactivez la case à cocher située en regard du nom de la catégorie.

    3. Pour activer ou désactiver l'enregistrement d'un événement spécifique, activez ou désactivez la case à cocher située en regard de son nom.

  5. Cliquez sur OK.

  6. Si vous procédez à un débogage, vous devez redémarrer la session de débogage pour que les modifications entrent en vigueur.

Appels et paramètres

Si vous avez besoin de plus d'informations au cours du débogage à l'aide d'IntelliTrace, vous pouvez choisir de collecter des informations sur les appels et leurs paramètres. La collecte des informations d'appels peut avoir des répercussions sur les performances de votre application et peut augmenter la taille de vos fichiers journaux.

La collecte des informations d'appels est incompatible avec la fonctionnalité Modifier && Continuer du débogueur Visual Studio. Si vous décidez de collecter des informations d'appels, Modifier && Continuer est automatiquement désactivé et ne peut pas être réactivé pendant que la collection d'informations d'appels est activée.

Lorsque vous activez Événements IntelliTrace et informations d'appels, IntelliTrace collecte un enregistrement de l'entrée et de la sortie de chaque appel. Lors de l'entrée, IntelliTrace collecte des informations sur le nom et la valeur de chaque paramètre. Pour les tableaux, seuls les 256 premiers objets sont enregistrés. Pour les objets, seul le niveau supérieur de la structure est enregistré. Lors de la sortie, IntelliTrace collecte la valeur de retour de la méthode.

Pour activer la collection d'informations d'appels

  1. Dans la boîte de dialogue Options, sous le nœud IntelliTrace, cliquez sur Général.

  2. Dans la page Général, cliquez sur Événements IntelliTrace et informations d'appels.

  3. Cliquez sur OK.

Configuration de la collection par module

Vous pouvez activer ou désactiver la collection d'informations IntelliTrace pour les modules spécifiques. Cette possibilité est utile car certains modules peuvent ne pas être intéressants quant au débogage. Par exemple, vous pouvez déboguer une solution qui inclut des projets de DLL hérités qui sont bien testés et entièrement débogués. L'exclusion des modules qui ne vous intéressent pas réduit l'encombrement dans la fenêtre IntelliTrace et facilite la concentration sur du code intéressant. Elle peut également améliorer les performances et réduire l'espace disque utilisé par le fichier journal. La différence peut être significative si vous avez choisi de collecter des appels et des paramètres.

Pour collecter des données de modules sélectionnés

  1. Dans la boîte de dialogue Options, sous le nœud IntelliTrace, cliquez sur Modules.

  2. Sélectionnez Collecter les données de tous les modules à l'exception des suivants ou Collecter les données des modules suivants uniquement.

    Sous ce paramètre, se trouve une liste de noms de modules.

  3. Pour supprimer un module de la liste, sélectionnez le nom du module, puis cliquez sur le bouton Supprimer.

  4. Pour ajouter un module à la liste :

    1. Cliquez sur le bouton Ajouter.

      La boîte de dialogue Ajouter un modèle s'affiche.

    2. Dans la zone Entrez un modèle de chaîne qui correspond à, tapez le nom du module à ajouter à la liste. Vous pouvez utiliser des spécificateurs de caractère générique au début ou à la fin de la chaîne pour ajouter plusieurs modules.

    3. Cliquez sur Ajouter.

    Les noms de modules doivent être noms de fichiers, et non des noms d'assemblys. Les chemins d'accès de fichiers ne sont pas acceptés.

  5. Cliquez sur OK.

    Notes

    Si la collection a la valeur Événements uniquement dans la page Général, les paramètres des modules n'ont aucun effet.

Voir aussi

Concepts

Débogage avec IntelliTrace