67 votes

La version C # contient toujours le fichier .pdb

Je souhaite déployer la version de mon application fait en C#.

Quand je construis à l'aide de la sortie config je peut encore voir que le .fichier pdb est produite sens que ma demande peut encore être débogué; cela signifie également que encore certaines informations de débogage est présent quelque part dans mon code le ralentir un peu.

Si cela est vrai, comment faire pour supprimer complètement toutes les informations de débogage produites dans le code? Savez-vous aussi la raison de cette .apb? Le RELEAASE configuration de l'optimisation de code vérifié et seulement la TRACE constante définie, pas de DÉBOGAGE. Merci pour l'aide

110voto

Marek Points 5077

Si vous souhaitez désactiver la génération de fichier pdb, vous devez utiliser la boîte de dialogue "Advanced build settings" disponible dans les propriétés du projet après avoir cliqué sur le bouton "Advanced..." "situé dans la partie inférieure du champ Build tab.

Définissez Output - Debug info: sur None pour la configuration de la version finale et aucun fichier pdb ne sera généré.

51voto

Brian Rasmussen Points 68853

La valeur par défaut consiste à générer des PDB pour les versions validées. C'est une fonctionnalité et vous ne devriez pas la désactiver. La génération de PDB signifie que vous pouvez obtenir plus d'informations lors du débogage. Les performances du code ne sont aucunement affectées par la présence de fichiers PDB.

19voto

Andy Shellam Points 8120

Vous n'avez pas à expédier les .PDB avec votre déploiement de version, mais il est utile de les conserver. Par exemple, vous pouvez déboguer à distance le code exécuté sur un ordinateur différent à l'aide des PDB de votre ordinateur pour obtenir les numéros de ligne des exceptions. se produire.

Sans l'utilisation des .PDB, les numéros de ligne et les noms de fichiers ne sont pas inclus dans les stacktraces, il est donc beaucoup plus difficile de les déboguer.

14voto

Justin Points 42106

Vous contrôlez pdb / génération du symbole dans les propriétés du projet en vertu de Build -> Avancé -> Debug info:. Les options sont les suivantes:

  • aucun (pas de symbole d'information)
  • complet (un .apb sera produite, et quelques informations de symbole est incorporé dans l'assemblée)
  • apb-seulement (un .apb sera produite, mais l'assemblée n'est pas affecté)

Voir http://msdn.microsoft.com/en-us/library/8cw0bt21%28VS.80%29.aspx pour plus d'informations.

J'ai fortement recommandé que vous choisissiez l'apb seule option, pas la aucune option, car il vous offre quelques informations de symbole sans affecter l'assemblée - vous trouverez probablement que c'est la valeur que vous avez sur votre release.

7voto

Mehrdad Afshari Points 204872

Faire en sorte que le compilateur génère un fichier .pdb ne signifie pas qu'il optimise le code.

Pour plus d'informations à ce sujet, lisez ces entrées de blog .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X