Qu'est-ce qu'un fichier PDB et comment puis-je l'exclure du dossier de publication lorsque je reconstruis ma solution?
Qu'est-ce qu'un fichier PDB et comment puis-je l'exclure du dossier de publication lorsque je reconstruis ma solution?
Réponses:
Un fichier PDB contient des informations permettant au débogueur de fonctionner. De toute façon, il y a moins d'informations dans une version Release que dans une version Debug. Mais si vous ne voulez pas qu'il soit généré du tout, allez dans les propriétés de construction de votre projet, sélectionnez la configuration Release, cliquez sur "Advanced ..." et sous "Debug Info" choisissez "None".
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, j'ai décidé d'exclure le fichier.
Tout a bien fonctionné, jusqu'à aujourd'hui, lorsque j'essayais de comprendre pourquoi une boîte de message contenant un Exception.StackTrace
manquait le fichier et les informations de numéro de ligne - nécessaires pour dépanner l'exception. J'ai relu ce post et trouvé le nugget clé d'informations: que bien que le PDB ne soit pas nécessaire pour que l'application s'exécute, il est nécessaire que les numéros de fichier et de ligne soient présents dans la StackTrace
chaîne. J'ai inclus le fichier PDB dans le dossier exécutable et maintenant tout va bien.
accepted answer
ici ne mentionne pas.
PDB est l'abréviation de P rogram 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) pour conserver 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 d'arrêt où vous vous attendez à ce que le débogueur se casse 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 *.pdb
fichiers de vos dossiers de débogage. Le débogueur Visual Studio peut également 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*.pdb
fichiers. Les fichiers pdb sont donc vraiment une aubaine pour les développeurs lors du débogage d'un programme.
En règle générale, il n'est pas recommandé d'exclure la génération de *.pdb
fichiers. Du point de vue de la version de 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ù ils pourront ê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 plantage du processus Lorsque vous commencez à analyser les fichiers de vidage sur incident et si vos *.pdb
fichiers d' origine créés pendant le processus de génération ne sont pas conservés, Visual Studio ne pourra pas distinguer la ligne de code exacte qui provoque le crash .
Si vous souhaitez toujours désactiver la génération de *.pdb
fichiers pour toute version, accédez aux propriétés du projet -> onglet Génération -> cliquez sur le Advancedbouton -> choisissez none
dans la liste déroulante "Informations de débogage" -> appuyez sur OKcomme indiqué dans l'instantané ci-dessous .
Remarque : Ce paramètre devra être effectué séparément pour les configurations de build "Debug" et "Release".
Un fichier PDB contient des 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 /Debug
commutateur.
Le fichier de base de données de débogage de programme (pdb) est un format de fichier de Microsoft pour le stockage des informations de débogage.
Lorsque vous générez un projet à l'aide de Visual Studio ou d'une invite de commandes, le compilateur crée ces fichiers de symboles.
Vérifiez Microsoft Docs