J'ai un projet Web qui envoie du code côté client à une méthode dans une DLL externe, dont j'ai le fichier de code source et le fichier pdb de cette DLL externe. Ce que je voudrais faire est de déboguer la DLL externe en utilisant le fichier de code source et pdb. Visual Studio n'arrête pas de dire qu'aucun symbole n'est chargé pour le module depuis.Débogage avec le fichier Pdb et le fichier de code source dans Visual Studio
Répondre
Pour déboguer une DLL, un fichier de symboles avec la même version est toujours nécessaire. Lorsque vous déboguez vos propres applications, vous n'avez généralement pas à vous soucier de cela.
Mais il se passe des choses en arrière-plan. Visual stuido met toujours les fichiers de symboles dans le dossier de débogage lorsque vous générez votre application et les charge également comme décrit sous Loading the symbols automatic
.
(Lorsque vous distribuez votre application, vous ne voulez pas l'habitude de distribuer ces symboles et donc ils ne seront pas copiés dans le répertoire de sortie que vous changez votre configuration de construction pour libérer.)
Chargement des symboles MANUELL
Si vous souhaitez charger les symboles manuellement, vous pouvez les charger avec la boîte de dialogue Modules
.
"Debug" -> "Windows" -> "Modules"
.
Vous pouvez faire un clic droit sur une ligne et il y a l'option "Load Symbols" qui vous permet de sépécifier un fichier pdb à charger.
Chargement des symboles automatiques
Visual Studio charge également les symboles automatiquement quand ils se trouvent dans l'un des endroits suivants.
Emplacement spécifié dans la DLL ou le fichier exécutable. (Par défaut, si vous avez créé une DLL ou un fichier exécutable sur votre ordinateur, l'éditeur de liens place le chemin d'accès complet et le nom de fichier du fichier .pdb associé dans la DLL ou le fichier exécutable. le fichier de symboles existe à l'emplacement spécifié dans la DLL ou dans le fichier exécutable.Ceci est utile, car vous disposez toujours de symboles pour le code que vous avez compilé sur votre ordinateur.)
Fichiers .pdb pouvant être présents dans le même dossier que la DLL ou le fichier exécutable.
- Tous les dossiers de cache de symboles locaux.
- Tous les serveurs de réseau, d'Internet ou locaux et les emplacements spécifiés, tels que le serveur de symboles Microsoft, s'il est activé.
Si vous voulez en savoir plus sur la façon dont les symboles sont utilisés avec Visual Studio, vous pouvez lire this article sur Understanding symbol files and Visual Studio’s symbol settings
.