Partager via


Créer une carte visuelle de la pile des appels lors du débogage (C#, Visual Basic, C++, JavaScript)

Créez une carte de code pour suivre visuellement la pile des appels pendant le débogage. Vous pouvez prendre des notes sur la carte pour suivre ce que fait le code, afin de vous concentrer sur la recherche de bogues.

Pour plus d’informations sur les commandes et les actions que vous pouvez utiliser avec des cartes de code, consultez Parcourir et réorganiser les cartes de code.

Important

Vous pouvez créer des mappages de code uniquement dans Visual Studio Enterprise Edition.

Voici un aperçu rapide d’une carte de code :

Débogage avec des piles d’appels sur des cartes de code

Effectuer une cartographie de la pile des appels

  1. Dans un projet Visual Studio Enterprise C#, Visual Basic, C++ ou JavaScript, commencez le débogage en sélectionnant Déboguer>Démarrer le débogage ou en appuyant sur F5.

  2. Une fois que votre application entre en mode arrêt ou que vous effectuez un pas à pas dans une fonction, sélectionnez Déboguer>Carte de Code, ou appuyez sur Ctrl+Maj+`.

    La pile des appels actuelle s’affiche en orange sur une nouvelle carte de code :

    Voir la pile des appels sur la carte de code

Le mappage de code est mis à jour automatiquement au fur et à mesure que vous poursuivez le débogage. La modification d’éléments de carte ou de disposition n’affecte pas le code de quelque manière que ce soit. N’hésitez pas à renommer, déplacer ou supprimer quoi que ce soit sur la carte.

Pour obtenir plus d’informations sur un élément, pointez dessus et examinez l’info-bulle de l’élément. Vous pouvez également sélectionner Légende dans la barre d’outils pour savoir ce que signifie chaque icône.

Légende de la carte de code

Note

Le message Le diagramme peut être basé sur une version antérieure du code en haut de la carte de code, ce qui signifie que le code a peut-être changé après la dernière mise à jour de la carte. Par exemple, un appel sur la carte n’existe peut-être plus dans le code. Fermez le message, puis essayez de reconstruire la solution avant de mettre à jour la carte.

Cartographier le code externe

Par défaut, seul votre propre code apparaît sur la carte. Pour afficher le code externe sur la carte :

  • Cliquez avec le bouton droit dans la fenêtre Pile des appels et sélectionnez Afficher le code externe :

    Afficher le code externe à l’aide de la fenêtre Pile des appels

  • Ou décochez la case Activer uniquement mon code dans Visual Studio :

    Cette option est disponible dans le volet Outils (ou Déboguer) sous le >volet Options dans la section Tous les paramètres>Général :

    Capture d’écran montrant comment sélectionner l’option Activer uniquement mon code dans Visual Studio.

    Cette option est disponible dans la boîte de dialogue Outils (ou >) sous la section Débogage>général :

    Afficher le code externe à l’aide de la boîte de dialogue Options

Contrôler la disposition de la carte

La modification de la disposition de la carte n’affecte pas le code d’une manière quelconque.

Pour contrôler la disposition de la carte, sélectionnez le menu Disposition dans la barre d’outils de la carte.

Dans le menu Disposition , vous pouvez :

  • Modifiez la disposition par défaut.
  • Arrêtez la réorganisation automatique de la carte en désélectionnant Disposition automatique lors du débogage.
  • Réorganisez le mappage le moins possible lorsque vous ajoutez des éléments, en désélectionnant la disposition incrémentielle.

Prenez des notes sur le code

Vous pouvez ajouter des commentaires pour suivre ce qui se passe dans le code.

Pour ajouter un commentaire, cliquez avec le bouton droit dans le mappage de code, puis sélectionnez Modifier>un nouveau commentaire, puis tapez le commentaire.

Pour ajouter une nouvelle ligne dans un commentaire, appuyez sur Maj+Entrée.

Ajouter un commentaire à la pile des appels sur la carte du code

Mettre à jour la carte avec la pile d’appels suivante

Lorsque vous exécutez votre application jusqu'au prochain point d’arrêt ou que vous entrez dans une fonction, la carte ajoute automatiquement de nouvelles piles d’appels.

Mettre à jour la carte de code avec la prochaine pile d’appels

Pour empêcher la carte d’ajouter automatiquement de nouvelles piles d’appels, sélectionnez Afficher la pile des appels sur la carte de codes automatiquement dans la barre d’outils de carte de code. Le schéma continue de souligner les piles d’appels existantes. Pour ajouter manuellement la pile des appels actuelle à la carte, appuyez sur Ctrl+Maj+`.

Ajouter du code associé à la carte

Maintenant que vous disposez d’une carte, en C# ou en Visual Basic, vous pouvez ajouter des éléments tels que des champs, des propriétés et d’autres méthodes pour suivre ce qui se passe dans le code.

Pour accéder à la définition d’une méthode dans le code, double-cliquez sur la méthode dans la carte, ou sélectionnez-la, puis appuyez sur F12, ou cliquez dessus avec le bouton droit, puis sélectionnez Atteindre la définition.

Accédez à la définition du code d'une méthode dans la carte du code

Pour ajouter des éléments que vous souhaitez suivre à la carte, cliquez avec le bouton droit sur une méthode et sélectionnez les éléments que vous souhaitez suivre. Les éléments ajoutés les plus récemment apparaissent en vert.

Champs liés à une méthode sur la carte du code de la pile des appels

Note

Par défaut, l’ajout d’éléments à la carte ajoute également les nœuds de groupe parent tels que la classe, l’espace de noms et l’assembly. Vous pouvez désactiver et activer cette fonctionnalité en sélectionnant le bouton Inclure les parents dans la barre d’outils de la carte de code ou en appuyant sur Ctrl pendant l’ajout d’éléments.

Afficher les champs d’une méthode sur la carte de code de pile des appels

Continuez à générer la carte pour voir plus de code.

Consultez les méthodes qui utilisent un champ : mappage de code de pile des appels

Méthodes qui utilisent un champ dans la carte de code de la pile d'appels

Rechercher des bogues à l’aide de la carte

La visualisation de votre code peut vous aider à trouver des bogues plus rapidement. Par exemple, supposons que vous examinez un bogue dans une application de dessin. Lorsque vous dessinez une ligne et essayez de l’annuler, rien ne se passe jusqu’à ce que vous dessiniez une autre ligne.

Vous définissez donc des points d’arrêt dans les méthodes clear, undo et Repaint, démarrez le débogage et générez une carte comme celle-ci :

Ajouter une autre pile d’appels au mappage de code

Vous remarquez que tous les gestes utilisateur sur la carte appellent Repaint, à l'exception de undo. Cela peut expliquer pourquoi undo ne fonctionne pas immédiatement.

Après avoir corrigé le bogue et continuez à exécuter l’application, la carte ajoute le nouvel appel à partir de undo à Repaint :

Ajouter un nouvel appel de méthode à la pile des appels sur la carte de code

Partager la carte avec d’autres utilisateurs

Vous pouvez exporter une carte, l’envoyer à d’autres personnes avec Microsoft Outlook, l’enregistrer dans votre solution et la vérifier dans le contrôle de version.

Pour partager ou enregistrer la carte, utilisez Share dans la barre d’outils de la carte de code.

Partager le mappage de code de la pile d'appels avec d'autres utilisateurs