Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les fichiers de base de données de programme (.pdb), également appelés fichiers de symboles, relient les identificateurs et les instructions du code source de votre projet aux identificateurs et instructions correspondants des applications compilées. Ces fichiers de mappage lient le débogueur à votre code source, ce qui permet le débogage.
Lorsque vous générez un projet à partir de l’IDE Visual Studio en utilisant la configuration de compilation de débogage standard, le compilateur crée les fichiers de symboles appropriés. Cet article explique comment gérer les fichiers de symboles dans l’IDE, par exemple :
- Configurer l’emplacement des fichiers de symboles
- Chargez des symboles lors du débogage
- Options du compilateur pour les symboles
Pour obtenir une explication détaillée des fichiers de symboles, consultez Comprendre les fichiers de symboles et les paramètres de symbole Visual Studio.
Fonctionnement des fichiers de symboles
Le fichier .pdb contient les informations d’état du débogage et du projet qui permettent la liaison incrémentielle d’une configuration de débogage de votre application. Le débogueur Visual Studio utilise des fichiers .pdb pour déterminer deux éléments clés d’informations lors du débogage :
- Nom du fichier source et numéro de ligne à afficher dans l’IDE Visual Studio
- Où placer un point d’arrêt dans l’application
Les fichiers de symboles affichent également l’emplacement des fichiers sources, et éventuellement le serveur à partir duquel les récupérer.
Le débogueur charge uniquement les fichiers .pdb qui correspondent exactement aux fichiers .pdb créés lors de la génération d’une application (autrement dit, les fichiers .pdb d’origine ou les copies). Cette duplication exacte est nécessaire, car la disposition des applications peut changer même si le code lui-même n’est pas modifié. Pour plus d’informations, consultez Pourquoi Visual Studio exige-t-il que les fichiers de symboles du débogueur correspondent exactement aux fichiers binaires avec lesquels ils ont été créés ?
Conseil
Pour déboguer du code en dehors du code source de votre projet, tel que le code Windows ou le code tiers que vous appelez, vous devez spécifier l’emplacement des fichiers .pdb du code externe (et éventuellement, les fichiers sources), qui doivent correspondre exactement aux builds de votre application.
Où le débogueur recherche des symboles
Lorsque vous déboguez un projet dans l’IDE Visual Studio, le débogueur charge automatiquement les fichiers de symboles qu’il peut trouver par défaut.
Remarque
Lors du débogage du code managé sur un appareil distant, tous les fichiers de symboles doivent se trouver sur l’ordinateur local ou dans un emplacement spécifié dans les options du débogueur.
Le débogueur recherche les fichiers de symboles dans les emplacements suivants, dans l’ordre spécifié :
Dossier du projet.
Emplacement spécifié à l’intérieur de la DLL ou du fichier exécutable (.exe).
Par défaut, si vous avez créé une DLL ou un fichier .exe sur votre ordinateur, l’éditeur de liens place le chemin d’accès complet et le nom de fichier .pdb associé dans la DLL ou le fichier .exe. Le débogueur vérifie si le fichier de symboles existe à cet emplacement.
Même dossier que le fichier DLL ou .exe.
Tous les emplacements spécifiés dans les options du débogueur pour les fichiers de symboles. Pour ajouter et activer des emplacements de symboles, consultez Configurer les emplacements des symboles et les options de chargement.
Tout dossier de cache de symboles locaux.
Serveurs de symboles et emplacements réseau, Internet ou locaux spécifiés, tels que les serveurs de symboles Microsoft s’ils sont sélectionnés. Visual Studio peut télécharger les fichiers de symboles de débogage à partir de serveurs de symboles qui implémentent le protocole
symsrv. Visual Studio Team Foundation Server et les outils de débogage pour Windows sont deux outils qui peuvent utiliser des serveurs de symboles.Les serveurs de symboles que vous pouvez utiliser sont les suivants :
Serveurs de symboles Microsoft publics : pour déboguer un incident qui se produit lors d’un appel à une DLL système ou à une bibliothèque tierce, vous avez souvent besoin de fichiers .pdb système. Les fichiers .pdb système contiennent des symboles pour les DLL Windows, les fichiers .exe et les pilotes de périphérique. Vous pouvez obtenir des symboles pour les systèmes d’exploitation Windows, MDAC, IIS, ISA et .NET à partir des serveurs de symboles Microsoft publics.
serveurs de symboles sur un réseau interne ou sur votre ordinateur local: votre équipe ou votre entreprise peut créer des serveurs de symboles pour vos propres produits et comme cache pour les symboles provenant de sources externes. Vous pouvez avoir un serveur de symboles sur votre propre ordinateur.
serveurs de symboles tiers: des fournisseurs tiers d’applications et de bibliothèques Windows peuvent fournir un accès au serveur de symboles sur Internet.
Avertissement
Si vous utilisez un serveur de symboles autre que les serveurs de symboles Microsoft publics, assurez-vous que le serveur de symboles et son chemin d’accès sont fiables. Étant donné que les fichiers de symboles peuvent contenir du code exécutable arbitraire, vous pouvez être exposé aux menaces de sécurité.
Configurer l’emplacement des fichiers de symboles et les options de chargement
Le débogueur vérifie par défaut différents emplacements pour les symboles. Pour plus d’informations, consultez Où le débogueur recherche des symboles.
Dans le menu Outils (ou >), vous pouvez accéder aux optionsde symboles> :
- Spécifiez et sélectionnez des chemins de recherche pour les fichiers de symboles.
- Spécifiez des serveurs de symboles pour les composants Microsoft, Windows ou tiers.
- Spécifiez les modules pour lesquels vous souhaitez ou non que le débogueur charge automatiquement des symboles.
- Modifiez ces paramètres pendant le débogage actif. Consultez Symboles de chargement lors du débogage.
Pour spécifier les emplacements des symboles et les options de chargement :
Ouvrez le volet Outils (ou Déboguer) >Options, puis développez la section Tous les paramètres>Débogage>Général>Symboles>Emplacements de recherche.
Dans le volet droit, cochez la case pour chaque serveur souhaité : Serveurs de symboles Microsoft, NuGet.org Serveur de symboles, et ainsi de suite.
Ajoutez un nouvel emplacement de serveur de symboles en sélectionnant + Ajouter dans la barre d’outils pour la zone de groupe des emplacements de fichier de symboles (.pdb ).
Entrez l’URL (http), le partage réseau ou le chemin local du serveur de symboles ou de l’emplacement du symbole dans le champ de texte. La saisie semi-automatique des instructions vous aide à rechercher le format correct.
Remarque
Seul le dossier spécifié est recherché. Vous devez ajouter des entrées pour tous les sous-dossiers que vous souhaitez rechercher.
Cochez la case Activé , puis sélectionnez Enregistrer.
Ajoutez un emplacement de serveur de symboles Azure DevOps en sélectionnant le lien Nouvel emplacement du serveur de symboles Azure DevOps .
Dans la boîte de dialogue Se connecter au serveur de symboles Azure DevOps , sélectionnez un serveur de symboles disponible, puis sélectionnez Se connecter.
Pour plus d’informations, consultez Ajouter un serveur de symboles Azure Artifacts.
- Pour modifier l’ordre de chargement des emplacements de symboles, utilisez Ctrl + haut et Ctrl + bas, ou sélectionnez Monter et descendre.
- Pour modifier une URL ou un chemin d’accès, double-cliquez sur l’entrée, ou mettez en surbrillance l’entrée, puis sélectionnez Modifier.
- Pour supprimer une entrée, mettez en surbrillance l’entrée, puis sélectionnez Supprimer.
Ouvrez la boîte de dialogue Outils (ou Déboguer) >Options, puis développez la sectionSymboles>.
Dans la zone de groupe des emplacements de recherche du fichier symbole (.pdb), activez la case à cocher pour chaque serveur souhaité : Serveurs de symboles Microsoft, NuGet.org Serveur de symboles, et ainsi de suite.
Ajoutez un nouvel emplacement de serveur de symboles en sélectionnant Nouvel emplacement (+) dans la barre d’outils de la zone de groupe des emplacements de recherche du fichier de symboles (.pdb ).
Entrez l’URL (http), le partage réseau ou le chemin local du serveur de symboles ou de l’emplacement du symbole dans le champ de texte. La saisie semi-automatique des instructions vous aide à rechercher le format correct.
Remarque
Seul le dossier spécifié est recherché. Vous devez ajouter des entrées pour tous les sous-dossiers que vous souhaitez rechercher.
Ajoutez un nouvel emplacement de serveur de symboles Azure DevOps en sélectionnant
Nouvel emplacement du serveur de symboles Azure DevOps dans la barre d’outils de la zone de groupe.Dans la boîte de dialogue Se connecter au serveur de symboles Azure DevOps , sélectionnez un serveur de symboles disponible, puis sélectionnez Se connecter.
Pour plus d’informations, consultez Ajouter un serveur de symboles Azure Artifacts.
- Pour modifier l’ordre de chargement des emplacements de symboles, utilisez Ctrl + haut et Ctrl + bas, ou sélectionnez les actions Haut et Bas .
- Pour modifier une URL ou un chemin d’accès, double-cliquez sur l’entrée, ou mettez en surbrillance l’entrée, puis appuyez sur F2.
- Pour supprimer une entrée, mettez-la en surbrillance et sélectionnez Supprimer l’emplacement (-).
(Facultatif) Améliorez les performances de chargement des symboles en spécifiant un chemin d’accès de dossier local pour les symboles copiés.
Pour les symboles cache de cette option de répertoire , entrez un chemin d’accès de dossier local vers lequel les serveurs de symboles peuvent copier des symboles.
Remarque
Ne placez pas le cache de symboles locaux dans un dossier protégé, tel que C :\Windows ou un sous-dossier. Utilisez plutôt un dossier en lecture-écriture.
Si la variable d’environnement _NT_SYMBOL_PATH est définie, la valeur remplace les symboles cache dans cette valeur de répertoire .
Spécifiez les modules du débogueur à charger à partir des emplacements du fichier de symboles (.pdb) au démarrage.
Accédez à la section Tous les paramètres>Débogage>Général>Symboles>Rechercher et charger.
Utilisez la liste déroulante pour définir la valeur de l’option de recherche de symboles automatiques :
Choisissez automatiquement les symboles de module à rechercher (recommandé) : autorisez Visual Studio à choisir les symboles à rechercher et à charger. Par défaut, Visual Studio charge automatiquement les symboles générés par votre solution ouverte et charge tous les autres symboles requis pour effectuer des opérations de débogage courantes. Cette option réduit le nombre de fichiers qui doivent être recherchés et chargés par Visual Studio, ce qui améliore les performances du débogueur. Vous pouvez forcer le chargement d’autres symboles en créant la liste des modules inclus.
Recherchez tous les symboles de module, sauf exclusion : forcez Visual Studio à charger tous les symboles dans votre processus débogué. Cette option n’est pas recommandée, car elle peut ralentir votre expérience de débogage. Vous pouvez forcer Visual Studio à ignorer certains symboles en créant la liste des modules exclus.
Dans la section Débogage>des symboles , sélectionnez la valeur de l’option Préférences de recherche de symboles :
Choisissez automatiquement les symboles de module à rechercher (recommandé) : autorisez Visual Studio à choisir les symboles à rechercher et à charger. Par défaut, Visual Studio charge automatiquement les symboles générés par votre solution ouverte et charge tous les autres symboles requis pour effectuer des opérations de débogage courantes. Cette option réduit le nombre de fichiers qui doivent être recherchés et chargés par Visual Studio, ce qui améliore les performances du débogueur. Vous pouvez forcer le chargement d’autres symboles en créant la liste des modules inclus.
Recherchez tous les symboles de module, sauf exclusion : forcez Visual Studio à charger tous les symboles dans votre processus débogué. Cette option n’est pas recommandée, car elle peut ralentir votre expérience de débogage. Vous pouvez forcer Visual Studio à ignorer certains symboles en créant la liste des modules exclus.
- Pour appliquer vos paramètres, sélectionnez OK.
Spécifier des filtres de module
Les deux options choisir automatiquement ... et rechercher toutes les options ... vous permettent de contrôler les symboles recherchés pendant le débogage.
Pour choisir automatiquement les symboles de module à rechercher , spécifiez la liste de recherche en créant la liste des modules inclus .
Sélectionnez + Ajouter dans la barre d’outils de liste.
Dans la boîte de dialogue Ajouter un élément , entrez le nom du module, cochez la case Activé , puis sélectionnez Enregistrer.
Ajoutez d’autres éléments à la liste, si nécessaire.
Spécifiez la liste de recherche en sélectionnant le lien Spécifier les filtres de module :
Pour choisir automatiquement les symboles de module à rechercher , la boîte de dialogue Préférences de recherche de symboles automatiques s’ouvre :
Pour créer la liste des filtres Modules , sélectionnez Nouveau module (+), entrez les nouveaux modules, puis sélectionnez OK.
Les filtres de module prennent en charge la correspondance simple de caractères génériques. L’astérisque * correspond à n’importe quel groupe de caractères. Par exemple, *myproduct* correspond aux fichiers tels que myproduct.utilities.dll et entrypoint.myproduct.exe, entre autres.
Vous pouvez configurer d’autres options pour personnaliser votre expérience :
Chargez toujours les symboles situés en regard des modules : Visual Studio charge les fichiers .pdb stockés dans le système de fichiers avec leurs fichiers.dll ou .exe correspondants. Cette approche peut être utile, par exemple lors de la tentative de débogage d’une application web déployée.
Chargez automatiquement des symboles supplémentaires lorsque cela est nécessaire : Visual Studio recherche des symboles pour effectuer des actions de débogage courantes, telles que le pas à pas, même si le module dans lequel vous progressez n’est pas dans votre projet ou dans les filtres de modules. La façon dont la recherche est déterminée peut être affectée par vos paramètres Just My Code .
Pour rechercher tous les symboles de module, sauf option exclue , spécifiez la liste de recherche en créant la liste des modules exclus .
Sélectionnez + Ajouter dans la barre d’outils de liste.
Dans la boîte de dialogue Ajouter un élément , entrez le nom du module, cochez la case Activé , puis sélectionnez Enregistrer.
Ajoutez d’autres éléments à la liste, si nécessaire.
Pour rechercher tous les symboles de module, sauf option exclue , la boîte de dialogue Préférences d’exclusion de symbole s’ouvre :
Pour créer la liste des filtres Modules , sélectionnez Nouveau module (+), entrez les nouveaux modules, puis sélectionnez OK.
Dans cette boîte de dialogue, vous pouvez choisir les modules pour lesquels vous ne souhaitez pas que Visual Studio charge les symboles. Dans ce scénario, Visual Studio tente de charger des symboles pour chaque module de votre processus débogué (y compris les modules par des parties non Microsoft), sauf si vous ajoutez un filtre correspondant pour les exclure. Le seul autre moyen de modifier ce comportement est celui de vos paramètres Just My Code .
Autres options de symboles pour le débogage
Vous pouvez sélectionner d’autres options de symboles de débogage dans le menu Outils (ou Déboguer). >
Les paramètres suivants sont disponibles dans la section de tous les paramètres>, débogage> et général.
Les paramètres suivants sont disponibles dans la section Débogage>général .
Charger des exportations dll (native uniquement) : charge les tables d’exportation DLL pour C/C++. Pour plus d'informations, consultez les tables d’exportation de DLL . La lecture des informations d’exportation DLL implique une surcharge, de sorte que le chargement des tables d’exportation est désactivé par défaut. Vous pouvez également utiliser
dumpbin /exportsdans une ligne de commande de build C/C++.Activez le débogage au niveau de l’adresse et affichez le désassemblement si la source n’est pas disponible : affiche toujours le désassemblement lorsque les fichiers sources ou symboles ne sont pas trouvés.
Activer la prise en charge du serveur source : utilise le serveur source pour aider à déboguer une application en l’absence de code source sur l’ordinateur local, ou le fichier .pdb ne correspond pas au code source. Le serveur source accepte les demandes de fichiers et retourne les fichiers réels à partir du contrôle de code source. Le serveur source s’exécute à l’aide d’une DLL nommée srcsrv.dll pour lire le fichier .pdb de l’application. Le fichier .pdb contient des pointeurs vers le référentiel de code source et les commandes utilisées pour récupérer le code source à partir du référentiel.
Vous pouvez limiter les commandes que srcsrv.dll pouvez exécuter à partir du fichier .pdb de l’application en répertoriant les commandes autorisées dans un fichier nommé srcsrv.ini. Placez le fichier srcsrv.ini dans le même dossier que srcsrv.dll et devenv.exe.
Importante
Les commandes arbitraires peuvent être incorporées dans le fichier .pdb d’une application. Veillez donc à placer uniquement les commandes que vous souhaitez exécuter dans un fichier srcsrv.ini . Toute tentative d’exécution d’une commande non dans le fichier srcsvr.ini déclenche une boîte de dialogue de confirmation. Pour plus d’informations, consultez Avertissement de sécurité : le débogueur doit exécuter une commande non approuvée.
Aucune validation n’est effectuée sur les paramètres de commande. Soyez donc prudent avec les commandes approuvées. Par exemple, si vous avez répertorié cmd.exe dans votre srcsrv.ini, un utilisateur malveillant peut spécifier des paramètres sur cmd.exe qui peuvent le rendre dangereux.
Sélectionnez les préférences de prise en charge souhaitées. N'oubliez pas que les options Autoriser le serveur source pour les assemblies d'approbation partielle (gérés uniquement) et toujours exécuter des commandes de serveur source non approuvées sans demander peuvent augmenter les risques de sécurité.
Options de symbole du compilateur
Lorsque vous générez un projet depuis l'IDE Visual Studio avec la configuration de build standard Debug, les compilateurs C++ et gérés créent les fichiers de symboles appropriés pour votre code. Vous pouvez également définir des options de compilateur dans le code.
Pour définir les options du compilateur pour vos configurations de build dans Visual Studio, consultez Définir les configurations de débogage et de mise en production.
Options .NET
Générez avec /debug pour créer un fichier .pdb. Vous pouvez créer des applications avec /debug :full ou /debug :pdbonly. La génération avec /debug:full génère du code pouvant être débogué. La construction avec /debug:pdbonly génère des fichiers .pdb, mais ne génère pas l'indicateur pour le compilateur JIT que les informations de débogage sont disponibles. Utilisez /debug :pdbonly si vous souhaitez générer des fichiers .pdb pour une build de version que vous ne souhaitez pas déboguer. Pour plus d’informations, consultez /debug (options du compilateur C#) ou /debug (Visual Basic).
Options pour C/C++
Fichiers VC<x>.pdb et <project>.pdb files
Un fichier .pdb pour C/C++ est créé lorsque vous générez avec /ZI ou /Zi. Dans Visual C++, l’option /Fd nomme le fichier .pdb créé par le compilateur. Lorsque vous créez un projet dans Visual Studio à l’aide de l’IDE, l’option /Fd est définie pour créer un fichier .pdb nommé <projet>.pdb.
Si vous générez votre application C/C++ à l’aide d’un makefile et que vous spécifiez /ZI ou /Zi sans utiliser /Fd pour spécifier un nom de fichier, le compilateur crée deux fichiers .pdb :
vc<x>.pdb, où <x> représente la version du compilateur Microsoft C++, par exemple VC11.pdb
Le fichier VC<x>.pdb stocke toutes les informations de débogage des fichiers objet individuels et réside dans le même répertoire que le makefile du projet. Chaque fois qu’il crée un fichier objet, le compilateur C/C++ fusionne les informations de débogage dans VC<x>.pdb. Ainsi, même si chaque fichier source inclut des fichiers d’en-tête courants tels que <windows.h>, les typesdefs de ces en-têtes ne sont stockés qu’une seule fois, plutôt que dans chaque fichier objet. Les informations insérées incluent des informations de type, mais n’incluent pas d’informations sur les symboles, telles que les définitions de fonction.
<projet>.pdb
Le fichier .pdb <>stocke toutes les informations de débogage pour le fichier .exe du projet et réside dans le sous-répertoire \debug. Le fichier .pdb du projet <> contient des informations de débogage complètes, y compris des prototypes de fonction, pas seulement les informations de type trouvées dans VC<x>.pdb.
Les fichiers VC<x>.pdb et <projet>.pdb autorisent les mises à jour incrémentielles. L’éditeur de liens incorpore également le chemin d’accès aux fichiers .pdb dans le fichier .exe ou .dll qu’il crée.
-
Utilisez
dumpbin /exportspour afficher les symboles disponibles dans la table d’exportation d’une DLL. Les informations symboliques des tables d’exportation DLL peuvent être utiles pour utiliser des messages Windows, des procédures Windows (WindowProcs), des objets COM, un marshaling ou toute DLL pour laquelle vous n’avez pas de symboles. Les symboles sont disponibles pour n’importe quelle DLL système 32 bits. Les appels sont répertoriés dans l’ordre d’appel, avec la fonction actuelle (la plus profondément imbriquée) en haut.En lisant la
dumpbin /exportssortie, vous pouvez voir les noms de fonction exacts, y compris les caractères nonphanumériques. L’affichage des noms de fonction exacts est utile pour définir un point d’arrêt sur une fonction, car les noms de fonction peuvent être tronqués ailleurs dans le débogueur. Pour plus d’informations, consultez dumpbin /exports.
Applications web
Définissez le fichier web.config de votre application ASP.NET en mode débogage. Le mode débogage entraîne la génération de symboles ASP.NET pour les fichiers générés dynamiquement et permet au débogueur de s’attacher à l’application ASP.NET. Visual Studio définit cette valeur automatiquement lorsque vous commencez à déboguer, si vous avez créé votre projet à partir du modèle de projets web.
Charger des symboles lors du débogage
Vous pouvez utiliser les fenêtres Modules, Pile des appels, Locals, Autos, ou n’importe quelle fenêtre d’espion pour charger des symboles ou modifier les options de symboles pendant le débogage. Pour plus d’informations, consultez Familiarisez-vous avec la façon dont le débogueur s’attache à votre application.
Utiliser des symboles dans la fenêtre Modules
Pendant le débogage, la fenêtre Modules affiche les modules de code que le débogueur traite en tant que code utilisateur ou Mon code et leur état de chargement de symboles. Vous pouvez également surveiller l’état de chargement des symboles, charger des symboles et modifier les options de symboles dans la fenêtre modules.
Pour surveiller ou modifier les emplacements ou options des symboles lors du débogage :
Pour ouvrir la fenêtre Modules, lors du débogage, Debogue>Windows>Modules (ou appuyez sur Ctrl + Alt + U)
Dans la fenêtre Modules, cliquez avec le bouton droit sur les en-têtes Statut des symboles ou Fichier de symboles, ou sur n’importe quel module.
Dans le menu contextuel, sélectionnez l’une des options suivantes :
Choix Descriptif Charger les symboles S’affiche pour les modules avec des symboles ignorés, introuvables ou non chargés. Tente de charger des symboles à partir d’emplacements spécifiés dans le volet Outils> sous tous les paramètres> ou >. Si le fichier de symboles n’est pas trouvé ou n’est pas chargé, lance l’Explorateur de fichiers afin de spécifier un nouvel emplacement à rechercher. Informations sur le chargement de symboles Affiche l’emplacement d’un fichier de symboles chargé ou les emplacements qui ont été recherchés si le débogueur ne trouve pas le fichier. Paramètres des symboles Ouvre le volet Outils>Options vers la section Tous les paramètres>Débogage>Symboles>Emplacements de recherche, où vous pouvez modifier et ajouter des emplacements de symboles. Toujours charger automatiquement Ajoute le fichier de symboles sélectionné à la liste des fichiers qui sont automatiquement chargés par le débogueur. Décompiler la source dans le fichier de symboles Pour le code .NET, vous pouvez choisir cette option, puis suivre les instructions fournies dans Générer et incorporer des sources pour un assembly. Choix Descriptif Charger les symboles S’affiche pour les modules avec des symboles ignorés, introuvables ou non chargés. Tente de charger des symboles à partir d’emplacements spécifiés dans la boîte de dialogueOptions des > sous la sectionSymboles>. Si le fichier de symboles n’est pas trouvé ou n’est pas chargé, lance l’Explorateur de fichiers afin de spécifier un nouvel emplacement à rechercher. Informations sur le chargement de symboles Affiche l’emplacement d’un fichier de symboles chargé ou les emplacements qui ont été recherchés si le débogueur ne trouve pas le fichier. Paramètres des symboles Ouvre la boîte de dialogue Outils>Options dans la section Débogage>Symboles, où vous pouvez modifier et ajouter des emplacements de symboles. Toujours charger automatiquement Ajoute le fichier de symboles sélectionné à la liste des fichiers qui sont automatiquement chargés par le débogueur. Décompiler la source dans le fichier de symboles Pour le code .NET, vous pouvez choisir cette option, puis suivre les instructions fournies dans Générer et incorporer des sources pour un assembly.
Utilisez les pages No Symbols Loaded/No Source Loaded
Il existe plusieurs façons pour le débogueur d'interrompre le code qui n’a pas de symboles ou de fichiers source disponibles :
- Entrez dans le code.
- Interrompez le code à partir d’un point d’arrêt ou d’une exception.
- Basculez vers un autre thread.
- Modifiez le cadre de pile en double-cliquant sur un cadre dans la fenêtre Pile des appels.
Lorsque cela se produit, le débogueur affiche les pages Aucun symbole chargé ou Aucune source chargée pour vous aider à trouver et charger les symboles ou les sources nécessaires.
Pour utiliser la page de document "Aucun symbole chargé" afin de rechercher et charger les symboles manquants :
Pour modifier le chemin de recherche, sélectionnez un chemin d’accès non sélectionné, ou sélectionnez nouveau chemin d’accès ou nouveau chemin D’accès VSTS, puis entrez ou sélectionnez un nouveau chemin d’accès. Sélectionnez Charger pour rechercher à nouveau les chemins d’accès et charger le fichier de symboles s’il est trouvé.
Pour remplacer les options de symboles et réessayer les chemins de recherche, sélectionnez Parcourir et rechercher <le nom exécutable>. Le fichier de symboles est chargé s’il est trouvé ou l’Explorateur de fichiers s’ouvre afin de pouvoir sélectionner manuellement le fichier de symboles.
- Pour ouvrir la page des paramètres de symboles pour configurer le comportement, sélectionnez Modifier les paramètres des symboles (ou ouvrez le voletOptions> et accédez à la section Tous les paramètres>débogage>des symboles>de recherche et de chargement ou d’emplacements de recherche).
- Pour ouvrir la page des paramètres de symboles pour configurer le comportement, sélectionnez Modifier les paramètres de symbole (ou ouvrez la boîte de dialogueOptions des > et accédez à la section Symboles de débogage>).
(Avancé) Pour afficher le désassemblement dans une nouvelle fenêtre une fois, sélectionnez désassembler, ou sélectionnez la boîte de dialogue Options pour définir l’option permettant de toujours afficher le désassemblement lorsque les fichiers sources ou symboles ne sont pas trouvés. Pour plus d’informations, consultez Afficher le code de désassemblement.
Pour afficher les emplacements recherchés et le résultat, développez Informations de chargement des symboles.
Pour le code C#, vous pouvez également choisir de décompiler le code source à partir des pages Aucun symbole chargé ou Aucune source chargée.
Si le débogueur trouve le fichier .pdb après avoir exécuté l’une des options et peut récupérer le fichier source à l’aide des informations contenues dans le fichier .pdb, il affiche la source. Sinon, il affiche une page Aucune source chargée qui décrit le problème, avec des liens vers des actions susceptibles de résoudre le problème.
Pour ajouter des chemins de recherche de fichiers sources à une solution :
Vous pouvez spécifier les emplacements où le débogueur recherche des fichiers sources et exclure des fichiers spécifiques de la recherche.
Sélectionnez la solution dans l’Explorateur de solutions, puis sélectionnez l’icône Propriétés , appuyez sur Alt+Entrée, ou faites un clic droit, puis sélectionnez Propriétés.
Sélectionnez Déboguer les fichiers sources.
Sous les répertoires contenant du code source, tapez ou sélectionnez des emplacements de code source à rechercher. Utilisez l’icône Nouvelle ligne pour ajouter d’autres emplacements, l’icône flèche vers le haut et l’icône flèche vers le bas pour les réorganiser, ou l’icône X pour les supprimer.
Remarque
Le débogueur recherche uniquement le répertoire spécifié. Vous devez ajouter des entrées pour tous les sous-répertoires que vous souhaitez rechercher.
Sous Ne recherchez pas ces fichiers sources, tapez les noms des fichiers sources à exclure de la recherche.
Sélectionnez OK ou Appliquer.