Mapper les méthodes sur la pile des appels tout en déboguant dans Visual Studio
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.
Vous aurez besoin de :
Du code que vous pouvez déboguer, tel que Visual C# .NET, Visual Basic .NET, C++, JavaScript. Pour visualiser du code partagé entre plusieurs applications dans la même solution ou du code X++ pour Microsoft Dynamics AX, vérifiez que vous disposez de Visual Studio 2013 Update 2 ou version ultérieure.
Voir : la vidéo : déboguer visuellement à l'aide de l'intégration du débogueur de la carte du code (Canal 9) • Map the call stack • Make notes about the code • Update the map with the next call stack • Add related code to the map • Find bugs using the map • Q & A
Mapper la pile des appels
Démarrez le débogage. (Raccourci clavier : F5)
Dès que votre application passe en mode arrêt ou que vous exécutez pas à pas une fonction, choisissez Carte du code. (Clavier : Ctrl + Maj + `)
La pile d'appels actuelle apparaît en orange sur une nouvelle carte de code :
La carte se mettra à jour automatiquement pendant que vous continuez le débogage. Consultez Update the map with the next call stack.
Rédiger des notes sur le code
Ajoutez des commentaires pour effectuer le suivi de ce qui se passe dans le code. Pour ajouter une nouvelle ligne dans des commentaires, appuyez sur Maj + Entrée.
Mettre à jour la carte avec la pile d'appels suivante
Exécutez votre application jusqu'au point d'arrêt suivant ou exécutez pas à pas une fonction. La carte ajoute une nouvelle pile d'appels.
Ajouter du code associé à la carte
Vous disposez désormais d'une carte, mais comment continuer ? Si vous utilisez Visual C# .NET ou Visual Basic .NET, ajoutez 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.
Double-cliquez sur une méthode pour afficher sa définition de code. (Clavier : sélectionnez la méthode sur la carte et appuyez sur F12.)
Ajoutez les éléments que vous souhaitez suivre sur la carte.
Vous pouvez ici voir aisément quelles méthodes utilisent les mêmes champs. Les derniers éléments ajoutés apparaissent en vert.
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. Par exemple, supposons que vous recherchiez un bogue dans un programme de dessin. Lorsque vous tracez une ligne et essayez de l'annuler, rien ne se produit jusqu'à ce que vous traciez une autre ligne.
Par conséquent, vous définissez des points d'arrêt, démarrez le débogage et 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.
Après avoir corrigé le bogue et poursuivi l'exécution du programme, la carte ajoute le nouvel appel de undo à Repaint :
Q et R
Tous les appels n'apparaissent pas sur la carte. Pourquoi ?
Par défaut, seul votre code apparaît sur la carte. Pour afficher le code externe, activez-le dans la fenêtre Pile des appels ou désactivez Activer Uniquement mon code dans les options de débogage de Visual Studio.
La modification de la carte affecte-t-elle le code ?
La modification de la carte n'affecte en aucune manière le code. N'hésitez pas à renommer, déplacer ou supprimer tout élément de la carte.
Que signifie le message « Le diagramme peut être basé sur une version antérieure du code » ?
Il se peut que le code ait 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.
Comment contrôler la disposition de la carte ?
Ouvrez le menu Disposition dans la barre d'outils de la carte :
Modifiez la disposition par défaut.
Pour arrêter la réorganisation automatique de la carte, désactivez Disposer automatiquement lors du débogage.
Pour réorganiser la carte le moins possible lorsque vous ajoutez des éléments, désactivez Disposition incrémentielle.
Puis-je partager la carte avec d'autres ?
Vous pouvez exporter la carte, l'envoyer à d'autres personnes si vous disposez de Microsoft Outlook ou l'enregistrer dans votre solution afin de pouvoir la vérifier dans le contrôle de version Team Foundation.
Comment puis-je arrêter l'ajout automatique de nouvelles piles d'appels par la carte ?
Choisissez dans la barre d'outils de la carte. Pour ajouter manuellement la pile d'appels actuelle à la carte, appuyez sur Ctrl + Maj + `.
La carte continuera de mettre en surbrillance les piles d'appels existantes sur la carte pendant le débogage.
Que signifient les flèches et les icônes d'élément ?
Pour obtenir plus d'informations sur un élément, examinez son info-bulle. Vous pouvez également examiner la Légende pour découvrir la signification de chaque icône.
Voir : Map the call stack • Make notes about the code • Update the map with the next call stack • Add related code to the map • Find bugs using the map