Partager via


Navigation avec IntelliTrace

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

Lorsque vous utilisez le débogueur Visual Studio, ses fenêtres affichent un instantané de l'état de votre application à un instant précis. Lorsque vous utilisez IntelliTrace, vous pouvez consulter l'état de votre application à de nombreuses reprises. IntelliTrace enregistre l'état de votre application à des instants prédéfinis pendant une session de débogage.

Lors du débogage à l'aide d'IntelliTrace, vous pouvez naviguer jusqu'à un instant où les informations de débogage ont été collectées. Lorsque vous accédez à un nouveau point dans IntelliTrace, la fenêtre source vous montre le code source dans lequel l'événement s'est produit. En même temps, la fenêtre Pile des appels du débogueur et d'autres fenêtres du débogueur sont mises à jour pour afficher le contexte dans lequel l'événement s'est produit.

Cette rubrique décrit l'utilisation d'IntelliTrace pour naviguer au sein de l'historique collecté de votre application.

Dans cette rubrique

  • Affichage Événements IntelliTrace

  • Affichage des appels

  • Marge de navigation

  • Recherche dans l'historique d'IntelliTrace

Affichage Événements IntelliTrace

L'affichage Événements IntelliTrace est l'affichage par défaut de la fenêtre IntelliTrace ancrée par défaut avec l'Explorateur de solutions et Team Explorer.Les événements IntelliTrace sont collectés lorsqu'IntelliTrace est activé. Par conséquent, vous pouvez utiliser cet affichage pendant les sessions IntelliTrace.

Affichage des événements de diagnostic de la fenêtre d'historique du débogage

En mode débogage, l'affichage Événements IntelliTrace affiche la liste de tous les événements collectés par IntelliTrace au cours de la session de débogage. Les événements ainsi collectés sont spécifiés dans la boîte de dialogue Options. Pour plus d'informations sur la définition des événements à collecter, consultez Collecte d'informations relatives à IntelliTrace.

Pour naviguer jusqu'à l'instant précis où un événement de diagnostic s'est produit

  • Dans l'affichage Événements IntelliTrace, cliquez sur l'événement auquel vous souhaitez accéder.

    La fenêtre source affiche le code source de l'instant où l'événement s'est produit, le pointeur d'instruction se déplace jusqu'à cet instant et les fenêtres du débogueur sont mises à jour pour afficher le contexte dans lequel l'événement s'est produit.

Affichage des appels

L'affichage Appels offre un moyen hiérarchique d'afficher des appels et les événements IntelliTrace qui y sont associés.

Affichage de la pile inversée de la fenêtre d'historique du débogage

Contrairement aux événements IntelliTrace, qui sont toujours collectés lorsqu'IntelliTrace est activé, les informations d'appels ne sont collectées que si vous activez Événements IntelliTrace et informations d'appels dans la boîte de dialogue Options. Pour plus d'informations sur l'activation de cette option, consultez Collecte d'informations relatives à IntelliTrace.

Pour consulter l'affichage des appels

  • Dans la barre d'outils située en haut de la fenêtre IntelliTrace, cliquez sur l'icône Affichage des appels.

L'affichage Appels affiche une pile des appels qui s'apparente à une version inversée de la fenêtre Pile des appels du débogueur. Dans la fenêtre Pile des appels, l'appel actif se trouve en haut. Dans l'affichage Appels, il se trouve en bas.

Lors d'un débogage à l'aide d'IntelliTrace, l'appel actif signifie l'appel qui était actif dans la fenêtre de temps que vous affichez. Il n'est pas forcément actif en temps réel.

L'affichage Appels contient une liste, située en retrait sous l'appel actif, des appels passés à partir de l'appel actif et des événements IntelliTrace qui y sont associés.

Pour accéder à un autre appel à partir de l'appel actif

  • Dans la liste des appels située en retrait sous l'appel actif, double-cliquez sur l'appel auquel vous souhaitez accéder.

    L'affichage Appels est mis à jour et indique que l'appel sur lequel vous avez double-cliqué est maintenant l'appel actif. La fenêtre source, le pointeur d'instruction et les fenêtres du débogueur sont mis à jour et indiquent l'état de votre application pour le nouvel appel actif.

Pour accéder à un site d'appel dans l'appel actif

  • Dans la liste des appels située en retrait sous l'appel actif, cliquez sur un appel qui apparaît sous l'appel actif.

    Ne double-cliquez pas sur l'appel. Si vous double-cliquez dessus, vous accéderez à l'appel au lieu d'accéder au site d'appel.

    Dans la fenêtre source, le pointeur d'instruction se déplace jusqu'au site d'appel. La fenêtre Pile des appels n'est pas modifiée car vous vous trouvez encore dans le même appel.

Pour accéder à un événement IntelliTrace au sein de l'appel actif

  • Cliquez sur un événement IntelliTrace qui apparaît sous l'appel actif.

    Dans la fenêtre source, le pointeur d'instruction se déplace jusqu'au site d'appel.

Marge de navigation

La marge de navigation est un autre outil de navigation disponible uniquement si vous avez activé Événements IntelliTrace et informations d'appels dans la boîte de dialogue Options. La marge de navigation s'affiche en même temps que la fenêtre source, entre la marge de débogage standard et la marge. La marge de débogage standard correspond à la bande verticale où les icônes du pointeur d'instruction actif et du point d'arrêt apparaissent.

Vous pouvez utiliser la marge de navigation dans le débogage en direct et dans le débogage à l'aide d'IntelliTrace. La couleur de la marge de navigation change pour indiquer le mode dans lequel vous vous trouvez. La couleur par défaut du débogage en direct est le gris clair. Lors du débogage à l'aide d'IntelliTrace, la couleur par défaut est le gris foncé.

Par défaut, la marge de navigation est affichée. Toutefois, elle n'apparaît pas si les méthodes et les paramètres ne sont pas collectés, si IntelliTrace est désactivé ou encore si vous l'avez désactivé dans la boîte de dialogue Options. Si la marge de navigation est désactivée et si vous souhaitez la réactiver, consultez Comment : activer ou désactiver la marge de navigation.

Marge de navigation

La marge de navigation contient les icônes de navigation suivantes, comme indiqué dans l'illustration précédente. Notez que Revenir à Site d'appel et Pas à pas détaillé sont des commandes similaires mais opposées, comme le sont Aller à l'événement précédent et Aller à l'événement suivant.

  • Revenir à Site d'appel déplace le pointeur d'instruction et le contexte de débogage en arrière dans le temps jusqu'à l'instant à partir duquel la fonction ou la méthode active a été appelée. Si vous travaillez en mode de débogage en direct, cette commande vous oblige à commencer le débogage à l'aide d'IntelliTrace.

  • Pas à pas détaillé déplace le pointeur d'instruction et le contexte de débogage en avant dans le temps dans la fonction actuellement sélectionnée. Cette commande est disponible uniquement lorsque vous procédez à un débogage à l'aide d'IntelliTrace. Pas à pas détaillé et Revenir à Site d'appel se déplacent dans des directions opposées.

  • Aller à l'appel ou l'événement IntelliTrace précédent déplace le pointeur d'instruction et le contexte de débogage en arrière dans le temps jusqu'au dernier appel ou événement. Si vous travaillez en débogage en direct, cette commande vous oblige à commencer le débogage à l'aide d'IntelliTrace.

  • Aller à l'appel ou l'événement IntelliTrace suivant déplace le pointeur d'instruction et le contexte de débogage en avant dans le temps jusqu'à l'appel ou l'événement suivant pour lequel des données IntelliTrace existent. Cette commande est disponible uniquement lorsque vous procédez à un débogage à l'aide d'IntelliTrace.

  • Aller à Mode réel vous oblige à revenir au débogage en direct, à l'instant où vous avez commencé le débogage à l'aide d'IntelliTrace.

  • Définir le contexte du débogueur ici s'affiche sur chaque image de la pile des appels actifs. Cliquez dessus pour définir le contexte de débogage sur l'image d'appel dans laquelle il apparaît.

Ces icônes, à l'exception de Définir le contexte du débogueur, sont également accessibles à partir du menu IntelliTrace qui est imbriqué sous le menu Déboguer ou dans la barre d'outils IntelliTrace si vous avez décidé de l'afficher. Définir le contexte du débogueur s'affiche uniquement dans la marge de navigation.

Recherche dans l'historique d'IntelliTrace

Lorsque Événements IntelliTrace et informations d'appels est activé, IntelliTrace vous permet de rechercher des instances enregistrées d'un appel. Lorsque vous avez trouvé l'instance qui vous intéresse, vous pouvez synchroniser le contexte IntelliTrace sur cet appel, puis utiliser la fenêtre IntelliTrace et les fenêtres habituelles du débogueur pour étudier l'état de votre application au cours de l'instance d'appel.

Deux méthodes permettent de rechercher une instance d'appel. La première consiste à cliquer sur une ligne de code source à partir de laquelle un appel est passé. La deuxième consiste à cliquer dans le corps de la méthode ou fonction appelée.

Pour rechercher une instance d'appel

  1. Dans une fenêtre de code source,

    • cliquez avec le bouton droit sur une ligne de code à partir de laquelle un appel est passé, puis cliquez sur Rechercher cette ligne dans IntelliTrace ; ou

    • cliquez avec le bouton droit dans le corps d'une méthode ou fonction, puis cliquez sur Rechercher cette méthode dans IntelliTrace.

    Les résultats de la recherche s'affichent dans une marge horizontale en haut de la fenêtre source, comme indiqué dans l'illustration suivante. Les résultats de la recherche indiquent le nombre de recherches d'instances qui ont été trouvées dans IntelliTrace.

  2. Dans la marge des résultats de la recherche, accédez aux résultats d'un simple clic sur Aller au résultat suivant, Aller au dernier résultat, Aller au résultat précédent ou encore sur Aller au premier résultat.

    Lorsque vous accédez à une instance d'appel dans la marge des résultats de la recherche, l'affichage Appels de la fenêtre IntelliTrace se synchronise automatiquement sur cette instance d'appel.

Il existe des limites à la recherche dont vous devez avoir conscience :

  • L'option Rechercher cette méthode dans IntelliTrace ne fonctionne pas si le fichier projet contenant la méthode n'est pas ouvert dans Visual Studio.

  • L'option Rechercher cette ligne dans IntelliTrace ne retourne pas de résultats exacts si la ligne est une sortie de méthode.

Voir aussi

Tâches

Comment : activer ou désactiver la marge de navigation

Concepts

Collecte d'informations relatives à IntelliTrace

Débogage plus rapide du code avec IntelliTrace

Débogage d'erreurs non reproductibles avec IntelliTrace