Créer une carte visuelle de la pile des appels pendant le débogage (C#, Visual Basic, C++, JavaScript)
Créez une carte de code pour effectuer un suivi visuel de la pile des appels pendant le débogage. Vous pouvez rédiger des notes sur la carte pour effectuer le suivi de ce que fait le code afin de vous concentrer sur la recherche de bogues.
Pour plus de détails sur les commandes et les actions que vous pouvez utiliser avec des cartes de code, consultez Parcourir et réorganiser des cartes de code.
Important
Vous pouvez créer des cartes de code uniquement dans l’édition Visual Studio Enterprise.
Voici un aperçu rapide d’une carte de code :
Mapper la pile des appels
Dans un projet Visual Studio Enterprise C#, Visual Basic, C++ ou JavaScript, démarrez le débogage en sélectionnant Déboguer>Démarrer le débogage ou en appuyant sur F5.
Une fois que votre application passe en mode Arrêt ou que vous effectuez un pas à pas détaillé dans une fonction, sélectionnez Déboguer>Carte de code ou appuyez sur Ctrl+Maj+`.
La pile d'appels actuelle apparaît en orange sur une nouvelle carte de code :
La carte de code de code est mise à jour automatiquement pendant le débogage. La modification des éléments de carte ou de la disposition n’affecte d’aucune manière le code. N'hésitez pas à renommer, déplacer ou supprimer tout élément de la carte.
Pour obtenir plus d’informations sur un élément, placez le curseur sur celui-ci et consultez l’info-bulle. Vous pouvez également sélectionner Légende dans la barre d’outils pour connaître la signification de chaque icône.
Note
Le message Le diagramme peut être basé sur une version antérieure du code en haut de la carte de code 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 peut ne plus exister dans le code. Fermez le message et essayez de régénérer la solution avant de remettre à jour la carte.
Mapper 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 sur la fenêtre Pile des appels et sélectionnez Afficher le code externe :
Vous pouvez également désélectionner Activer Uniquement mon code dans Visual Studio Outils (ou Déboguer) >Options>Débogage :
Contrôler la disposition de la carte
La modification de la disposition de la carte n’affecte d’aucune manière le code.
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 de réorganiser automatiquement la carte en désactivant Disposition automatique lors du débogage.
- Réorganisez le moins possible la carte quand vous ajoutez des éléments en désactivant Disposition incrémentielle.
Rédiger des notes sur le code
Vous pouvez ajouter des commentaires pour effectuer le suivi de ce qui se passe dans le code.
Pour ajouter un commentaire, cliquez avec le bouton droit dans la carte de code, sélectionnez Modifier>Nouveau commentaire, puis tapez le commentaire.
Pour ajouter une nouvelle ligne dans un commentaire, appuyez sur Maj+Entrée.
Mettre à jour la carte avec la pile d'appels suivante
Quand vous exécutez votre application jusqu’au point d’arrêt ou que vous effectuez un pas à pas détaillé dans une fonction, la carte ajoute automatiquement de nouvelles piles d’appels.
Pour empêcher la carte d’ajouter automatiquement de nouvelles piles d’appels, sélectionnez dans la barre d’outils de la carte de code. La carte continue de mettre en évidence les piles d’appels existantes. Pour ajouter manuellement la pile d’appels actuelle à la carte, appuyez sur Ctrl+Maj+`.
Ajouter du code associé à la carte
Vous disposez désormais d’une carte en C# ou Visual Basic et pouvez ajouter des éléments comme des champs, des propriétés et d’autres méthodes pour effectuer le suivi de 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 et appuyez sur F12, ou cliquez dessus avec le bouton droit et sélectionnez Atteindre la définition.
Pour ajouter des éléments dont vous souhaitez effectuer le suivi sur la carte, cliquez avec le bouton droit sur une méthode et sélectionnez les éléments de votre choix. Les derniers éléments ajoutés s’affichent en vert.
Note
Par défaut, l'ajout d'éléments à la carte ajoute également les nœuds des groupes parents, comme 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 que vous ajoutez des éléments.
Poursuivez l'élaboration de la carte pour afficher davantage de code.
Rechercher des bogues à l'aide de la carte
La visualisation de votre code peut vous aider à rechercher des bogues plus rapidement. Imaginons par exemple que vous recherchez un bogue dans une application de dessin. Lorsque vous tracez une ligne et essayez de l'annuler, rien ne se produit jusqu'à ce que vous traciez une autre ligne.
Vous définissez donc des points d'arrêt dans les méthodes clear
, undo
et Repaint
, vous démarrez le débogage et vous générez une carte comme celle-ci :
Vous constatez que tous les mouvements de l'utilisateur sur la carte appellent Repaint
, à l'exception de undo
. Cela peut expliquer pourquoi undo
ne fonctionne pas immédiatement.
Une fois que vous avez corrigé le bogue et que vous poursuivez l’exécution du programme, la carte ajoute le nouvel appel de undo
à Repaint
:
Partager la carte avec d’autres utilisateurs
Vous pouvez exporter une carte, l’envoyer à d’autres utilisateur via Microsoft Outlook, l’enregistrer dans votre solution et l’intégrez dans le contrôle de version.
Pour partager ou enregistrer la carte, utilisez Partager dans la barre d’outils de la carte de code.