Je souhaite déployer la version finale de mon application en C #.
Lorsque je construis à l’aide de la configuration Release
, je peux toujours voir que les fichiers .pdb
sont produits, ce qui signifie que mon application peut toujours être déboguée. Cela signifie également que certaines informations de débogage sont présentes quelque part dans mon code, le ralentissant un peu.
Si cela est vrai, comment puis-je supprimer complètement les informations de débogage produites dans les binarys? Connaissez-vous également la raison de la publication de .pdb
? Le Optimize code
est Optimize code
la configuration Release
, et seule la constante TRACE
est définie, et non DEBUG
.
Merci pour votre aide.
Si vous souhaitez désactiver la génération de fichiers pdb, vous devez utiliser la boîte de dialog "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 de l’onglet Build
.
Définir la Output - Debug info:
sur None
pour la configuration de la version de publication et aucun fichier pdb ne sera généré.
La valeur par défaut consiste à générer des PDB pour les versions de publication. 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 affectées en aucune manière par la présence de fichiers PDB.
Vous contrôlez la génération de pdb / symbole dans les propriétés du projet sous Build -> Advanced … -> Debug info :. Les options sont les suivantes:
Voir http://msdn.microsoft.com/en-us/library/8cw0bt21%28VS.80%29.aspx pour plus d’informations.
Je recommande fortement que vous choisissiez l’option pdb uniquement, et non l’option no car cela vous donne toujours des informations sur les symboles sans affecter l’assemblage – vous constaterez probablement qu’il s’agit du paramètre actuel de votre version.
Vous n’avez pas à envoyer les fichiers .PDB avec le déploiement de votre version, mais ils sont utiles pour les conserver. Par exemple, vous pouvez déboguer à distance le code exécuté sur une autre machine en utilisant les PDB de votre machine pour obtenir les numéros se produire.
Sans l’utilisation des fichiers .PDB, les numéros de lignes et les noms de fichiers ne sont pas inclus dans les espaces de stack, ce qui rend leur débogage beaucoup plus difficile.
Le fait que le compilateur génère un fichier .pdb
ne s’exclue pas mutuellement pour optimiser le code.
Pour plus d’informations sur ce sujet, lisez ces entrées de blog .