Qu'est ce qu'un fichier PDB?

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

186
demandé sur Richard Harrison 2010-10-10 12:23:02

4 réponses

Un fichier PDB contient des informations sur lesquelles le débogueur doit travailler. Il y a moins d'informations dans une version Release que dans une version Debug de toute façon. 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 à la rubrique "informations de Débogage" choisir "Aucun".

180
répondu Jon Skeet 2016-06-02 11:57:03

Je m'étais initialement posé la question " Ai-je besoin d'un fichier PDB déployé sur la machine de mon client?", et après avoir lu ce post, a décidé d'exclure le fichier.

Tout a bien fonctionné, jusqu'à aujourd'hui, quand j'essayais de comprendre pourquoi une boîte de message contenant un Exception.StackTrace manquait les informations de numéro de fichier et de ligne-nécessaires pour dépanner l'exception. J'ai relu ce post et trouvé la pépite clé de l'information: que bien que L'APB ne soit pas nécessaire pour l'application à exécuter, 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 exécutable et maintenant tout va bien.

88
répondu BCA 2016-06-02 11:55:24

APB est une abréviation pour Program Data Base. Comme son nom l'indique, il s'agit d'un référentiel (stockage persistant tel que les bases de données) pour maintenir les informations nécessaires à l'exécution de votre programme en mode débogage. Il contient de nombreuses informations pertinentes importantes requises pendant le débogage de votre code (dans Visual Studio), par exemple à quels points vous avez inséré des points de rupture où vous attendez que le débogueur se brise dans Visual Studio.

C'est la raison pour laquelle beaucoup fois Visual Studio ne parvient pas à atteindre les points d'arrêt si vous supprimez le *.fichiers pdb de vos dossiers de débogage. Visual Studio debugger 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, les fichiers pdb sont vraiment une aubaine pour les développeurs lors du débogage d'un programme.

En général, il n'est pas recommandé d'exclure la génération de *.fichiers pdb. De sortie de production stand-point au maximum ce que vous devrait être fait est de créer les fichiers pdb mais ne les expédiez 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ù ils peuvent être utilisés/référencés à l'avenir si nécessaire. spécialement pour les cas où vous déboguez des problèmes tels que le crash du processus. Lorsque vous commencez à analyser les fichiers de vidage de Plantage et si votre original *.les fichiers pdb créés pendant le processus de construction ne sont pas conservés Visual Studio ne sera pas en mesure de distinguer la ligne de code exacte qui est provoquer un crash .

Si encore vous voulez vraiment désactiver la génération de *.fichiers pdb tout à fait pour n'importe quelle version, puis allez dans Propriétés du projet -> onglet Build -> cliquez sur le bouton Avancé -> choisissez none pour le champ "Debug Info" - > appuyez sur OK comme indiqué dans l'instantané ci-dessous.

Aucun paramètre D'information de débogage pour un projet C#

Note : ce paramètre devra être fait séparément pour les configurations de build "Debug" et "Release".

59
répondu RBT 2018-02-28 11:05:49

Un fichierPDB contient les informations utilisées par le débogueur. Il n'est pas requis pour exécuter votre application et il n'a pas besoin d'être inclus dans votre version.

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.

11
répondu Mark Byers 2016-06-02 11:54:07