Cette documentation répond aux questions fréquentes sur les fonctionnalités de débogage dans Visual Studio. Il mappe également les tâches de débogage ou les problèmes à la fonctionnalité appropriée dans le débogueur Visual Studio. Ces liens couvrent les tâches ou problèmes tels que le débogage d’applications multithreads, la navigation dans le code, la fuite de mémoire, l’inspection des variables, l’utilisation de points d’arrêt, le débogage de code externe et bien plus encore. Si vous avez besoin d’une vue d’ensemble des fonctionnalités du débogueur, consultez Premier aperçu du débogueur à la place.
Points d’arrêt
Comment suspendre l’exécution du code pour inspecter une ligne de code susceptible de contenir un bogue ?
Définissez un point d’arrêt. Pour plus d’informations, consultez Utiliser le type de point d’arrêt approprié et Prise en main des points d’arrêt.
Comment suspendre l’exécution du code en fonction de critères spécifiques ?
Définissez le type correct de point d’arrêt. Pour plus d’informations, consultez Utiliser le type approprié de point d’arrêt.
Comment enregistrer des informations dans la fenêtre Sortie dans des conditions configurables sans modifier ou arrêter mon code ?
Les points de trace vous permettent de consigner des informations dans la fenêtre Sortie dans des conditions configurables sans modifier ou arrêter votre code. Pour plus d’informations, consultez Utiliser des points de trace dans le débogueur Visual Studio
Gérer et suivre mes points d’arrêt
Utilisez la fenêtre points d’arrêt. Pour plus d’informations, consultez Gérer les points d’arrêt.
suspendre le code et le débogage lorsqu’une exception gérée ou non gérée spécifique est levée
Bien que l’Assistance à l’exception indique l’endroit où une erreur s’est produite, si vous souhaitez suspendre et déboguer l’erreur spécifique, vous pouvez indiquer au débogueur de s’arrêter lorsqu’une exception est levée.
Définir un point d’arrêt à partir de la pile des appels
Si vous souhaitez suspendre et déboguer du code lors de l’examen du flux d’exécution ou de l’affichage des fonctions dans la pile des appels fenêtres, consultez Définir un point d’arrêt dans la fenêtre Pile des appels.
suspendre du code dans une instruction d’assembly spécifique
Pour ce faire, définir un point d’arrêt à partir de la fenêtre Désassembleur.
Naviguer dans le code
Comment puis-je apprendre les commandes pour parcourir mon code lors du débogage ?
Pour plus d’informations, consultez Parcourir le code avec le débogueur.
Puis-je exécuter le code sur une ligne particulière tout en ignorant les points d’arrêt sans les supprimer ou les désactiver ?
Vous pouvez utiliser « Forcer l’exécution au curseur » pour ces scénarios. Vous pouvez conserver vos points d’arrêt et le débogueur les ignorera jusqu’à ce qu’il atteigne la ligne de code avec le curseur. Il ignore également les conditions d’arrêt des exceptions de première chance qui peuvent se produire. Pour plus d’informations, consultez Parcourir le code avec le débogueur.
Si ma ligne de code a des appels à différentes méthodes, puis-je passer à une méthode spécifique ?
Cliquez avec le bouton droit sur la ligne de code pour afficher un menu contextuel qui vous permet de sélectionner « Pas à pas spécifique ». Cette opération affiche une liste de toutes les méthodes que vous pouvez effectuer. Vous pouvez maintenant sélectionner la méthode d’intérêt.
Inspecter et visualiser des données
Comment puis-je vérifier la valeur des variables lors de l’exécution de mon application ?
Pointez sur des variables à l’aide de conseils de données ou inspecter des variables dans la fenêtre Autos et Locals.
Puis-je observer la valeur de modification d’une variable spécifique ?
Définissez une montre sur la variable. Pour plus d’informations, consultez Définir une montre sur les variables.
Comment afficher des chaînes trop longues pour la fenêtre du débogueur ?
Le visualiseur de chaîne affiche des chaînes trop longues pour une fenêtre d’info-bulle ou de débogueur de données. Il peut également vous aider à identifier les chaînes incorrectes.
Le visualiseur de chaîne intégré dans Visual Studio inclut des options Text, XML, HTML et JSON.Comment afficher des objets de collection volumineux ?
Le visualiseur DataSet vous permet d’afficher le contenu d’un DataSet, DataTable, DataView ou DataViewManager. Le visualiseur IEnumerable vous permet d’afficher des objets tels que Tableaux, Liste, etc. Pour plus d’informations, consultez visualiseurs tabulaires.
Déboguer une application déjà en cours d’exécution
Comment puis-je déboguer des applications en cours d’exécution sur des ordinateurs locaux ou distants, déboguer simultanément plusieurs processus, déboguer des applications qui n’ont pas été créées dans Visual Studio ou déboguer une application que je n’ai pas démarrée à partir de Visual Studio ?
Consultez Attacher à un processus en cours d’exécution.
Comment puis-je joindre la même application à plusieurs reprises ?
Vous pouvez utiliser retacher au processus (Maj+Alt+Alt+P) pour vous permettre de commencer facilement à déboguer votre application en un clic sans avoir à passer par la boîte de dialogue Attacher au processus à chaque fois. Consultez rattacher à un processus
Déboguer des applications multithread
Comment puis-je déboguer une application multithread ? Ou, mon application est-elle dans un état suspendu ?
Consultez fenêtre Piles parallèles résolution des problèmes supplémentaires
Comment puis-je afficher l’ordre dans lequel les fonctions sont appelées ?
Consultez Comment afficher la pile des appels.
Analyser la mémoire
Mon application a-t-elle une fuite de mémoire ?
Prenez un instantané et ouvrez-le avec l’outil mémoire pour résoudre les problèmes. Consultez Mesurer l’utilisation de la mémoire.
Comment puis-je analyser l’utilisation de la mémoire pour les applications natives ou gérées ?
Utilisez l’outil de mémoire Visual Studio via le débogage en direct, les vidages de tas ou le profileur de performances.
Consultez Choisir un outil d’analyse de la mémoire.Comment puis-je analyser l’utilisation de la mémoire pour les applications natives ou gérées sans attacher de débogueur ? Utilisez le profileur de performances Visual Studio avec l’outil d’utilisation de la mémoire activé.
Consultez Analyser l’utilisation de la mémoire.Puis-je comparer l’utilisation de la mémoire entre deux points dans le temps ?
Comparez les instantanés dans l’outil mémoire ou comparez deux vidages de tas à l’aide de la fonctionnalité de différences. Consultez Analyser l’utilisation de la mémoire.
Débogage de code externe
Puis-je voir uniquement le code utilisateur lors du débogage ?
Mon code est une fonctionnalité de débogage Visual Studio qui effectue automatiquement des étapes sur les appels au système, à l’infrastructure et à d’autres codes non-utilisateur. Dans la fenêtre Pile des appels, just My Code réduit ces appels en trames [Code externe]. Consultez déboguer uniquement le code utilisateur avec Just My Code
Comment afficher ou déboguer les instructions d’assembly brut que mon programme exécute ?
Utilisez la fenêtre Désassembler à partir de Déboguer > Windows > Désassembleur. Vous pouvez parcourir une seule instruction à la fois et même définir des points d’arrêt sur des instructions d’assembly individuelles.
Puis-je voir le code source pour les bibliothèques .NET ?
Activez les serveurs de symboles Microsoft à partir de Debug > Options > Symbols afin de télécharger des symboles et des sources pour les bibliothèques .NET. Voir Spécifier le symbole
Comment charger des fichiers PDF à partir d’un emplacement ou d’un serveur spécifique ou partagé ?
Configurez vos serveurs de symboles à partir des options de débogage >> symboles. Voir Spécifier le symbole
Comment ne puis-je jamais charger une base de données PDB spécifique ? Ou comment puis-je toujours en charger un ?
Configurez vos listes Include et Exclude dans les options de débogage >> symboles.
Voir Spécifier le symbole
Configurer le débogage
Comment configurer les paramètres du débogueur ?
Pour configurer les options du débogueur et les paramètres du projet de débogueur, consultez paramètres du débogueur etde préparation.
Comment puis-je personnaliser les informations affichées dans le débogueur ?
Vous pouvez afficher des informations autres que le type d’objet comme valeur dans différentes fenêtres du débogueur. Pour le code C#, Visual Basic, F# et C++/CLI, utilisez l’attribut DebuggerDisplay. Pour des options plus avancées, vous pouvez également personnaliser l’interface utilisateur en créant un visualiseur personnalisé . Pour C++natif, utilisez l’infrastructure NatVis .
Tâches supplémentaires
Dois-je enregistrer un vidage ?
Lors de l’arrêt d’une erreur ou d’un point d’arrêt pendant le débogage, sélectionnez Déboguer > enregistrer le vidage sous. Voir fichiers de vidage
Comment analyser un fichier de vidage ?
Ouvrez le vidage en choisissant Fichier > Ouvrir dans Visual Studio. Pour démarrer le débogage, sélectionnez Déboguer avec managed Only, Déboguer avec unnatif uniquement, déboguer avec mixedou déboguer avec la mémoire managée. Voir fichiers de vidage
Puis-je modifier du code pendant une session de débogage ?
Utilisez Modifier et continuer. Pour XAML, utilisez rechargement à chaud XAML.
Comment puis-je déboguer sur des ordinateurs distants ?
Comment puis-je résoudre les problèmes de performances ?
Consultez Premier aperçu des outils de profilage
Comment corriger une exception ?
Consultez Corriger une exception.