web-dev-qa-db-fra.com

Qu'est-ce qu'un fichier PDB?

Qu'est-ce qu'un fichier PDB et comment puis-je l'exclure du dossier d'édition lorsque je reconstruis ma solution?

216
Ata

Un fichier PDB contient des informations avec lesquelles le débogueur peut travailler. Il y a de toute façon moins d'informations dans une version Release que dans une version Debug. Mais si vous voulez qu'il ne soit pas généré du tout, allez dans les propriétés de construction de votre projet, sélectionnez la configuration de la version, cliquez sur "Avancé ..." et sous "Informations de débogage", choisissez "Aucun".

212
Jon Skeet

Je m'étais initialement posé la question "Est-ce que j'ai besoin d'un fichier PDB déployé sur la machine de mon client?", et après avoir lu cet article, j'ai décidé d'exclure le fichier.

Tout fonctionnait bien jusqu'à aujourd'hui, lorsque j'essayais de comprendre pourquoi une boîte de message contenant un Exception.StackTrace manquait les informations relatives au fichier et au numéro de ligne, nécessaires au dépannage de l'exception. Je relis ce message et trouvai la clé d'information: bien que le PDB ne soit pas nécessaire à l'exécution de l'application, il est nécessaire que les numéros de fichier et de ligne soient présents dans la chaîne StackTrace. J'ai inclus le fichier PDB dans le dossier des exécutables et maintenant tout va bien.

108
BCA

PDB est une abréviation de P rogramme D ata B ase. Comme son nom l'indique, il s'agit d'un référentiel (stockage persistant tel que des bases de données) destiné à conserver les informations nécessaires à l'exécution de votre programme en mode débogage. Il contient de nombreuses informations pertinentes importantes requises lors du débogage de votre code (dans Visual Studio), par exemple. à quels points vous avez inséré des points d'arrêt où le débogueur doit s'interrompre dans Visual Studio.

C'est la raison pour laquelle plusieurs fois Visual Studio ne parvient pas à atteindre les points d'arrêt si vous supprimez les fichiers *.pdb de vos dossiers de débogage. Le débogueur Visual Studio est également capable de vous indiquer le numéro de ligne précis du fichier de code auquel une exception s'est produite dans une trace de pile à l'aide de fichiers *.pdb. Donc, efficacement, les fichiers pdb sont vraiment une aubaine pour les développeurs lors du débogage d'un programme.

Généralement, il n'est pas recommandé d'exclure la génération de fichiers *.pdb. Dès le lancement de la production, vous devez créer les fichiers pdb, mais ne les envoyez pas au site client dans le programme d'installation du produit. Conservez tous les fichiers PDB générés sur un serveur de symboles d'où il pourra être utilisé/référencé ultérieurement si nécessaire. Spécialement dans les cas où vous corrigez des problèmes tels que le blocage du processus. Lorsque vous commencez à analyser les fichiers de vidage sur incident et si vos fichiers *.pdb originaux créés pendant le processus de construction ne sont pas conservés, Visual Studio ne pourra pas identifier la ligne de code exacte à l'origine du blocage .

Si vous souhaitez toujours désactiver la génération de fichiers *.pdb pour toute version, accédez aux propriétés du projet -> Onglet Construire -> Cliquez sur Advanced bouton -> Choisissez none dans la liste déroulante "Informations de débogage" -> appuyez sur OK comme indiqué dans l'instantané ci-dessous.

None Debug Info setting for a C# Project

Remarque : Ce paramètre devra être défini séparément pour les configurations de construction "Debug" et "Release".

77
RBT

Un fichier PDB contient les informations utilisées par le débogueur. Il n'est pas nécessaire d'exécuter votre application et il n'est pas nécessaire de l'inclure dans votre version publiée.

Vous pouvez désactiver la création de fichiers pdb dans Visual Studio. Si vous construisez à partir de la ligne de commande ou d'un script, omettez le commutateur /Debug.

13
Mark Byers

Le programme de base de données de débogage (pdb) est un format de fichier créé par Microsoft pour stocker les informations de débogage.

Lorsque vous générez un projet à l'aide de Visual Studio ou de la commande Invite, le compilateur crée ces fichiers de symboles.

Vérifier Microsoft Docs

0
Nipuna