La compilation en Release génère des fichiers .pdb, pourquoi ?

La compilation en Release génère des fichiers .pdb, pourquoi ?

Parce que sans les fichiers PDB, il serait impossible de déboguer une compilation « Release » autrement que par du débogage au niveau des adresses. Les optimisations modifient considérablement votre code, rendant très difficile la recherche du coupable si quelque chose tourne mal (par exemple, si une exception est levée). Même poser des points d’arrêt est extrêmement difficile, car les lignes de code source ne peuvent pas être mises en correspondance une à une (ni même dans le même ordre) avec le code assembleur généré. Les fichiers PDB vous aident, vous et le débogueur, rendant le débogage post-mortem nettement plus facile.

Vous faites remarquer que si votre logiciel est prêt pour la mise en production, vous devriez avoir terminé tout votre débogage d’ici là. Bien que ce soit certainement vrai, il y a quelques points importants à garder à l’esprit :

Vous devriez également tester et déboguer votre application (avant de la publier) en utilisant la compilation « Release ». En effet, l’activation des optimisations (elles sont désactivées par défaut dans la configuration « Debug ») peut parfois faire apparaître des bogues subtils que vous n’auriez pas détectés autrement. Lorsque vous effectuez ce débogage, vous aurez besoin des symboles PDB.

Les clients signalent fréquemment des cas limites et des bogues qui ne se manifestent que dans des conditions « idéales ». Ce sont des choses presque impossibles à reproduire en laboratoire car elles dépendent d’une configuration particulière de la machine de l’utilisateur. S’il s’agit de clients particulièrement serviables, ils signaleront l’exception levée et vous fourniront une trace de pile. Ou ils vous laisseront même emprunter leur machine pour déboguer votre logiciel à distance. Dans l’un ou l’autre de ces cas, vous aurez besoin des fichiers PDB pour vous aider.

Le profilage devrait toujours être effectué sur des compilations « Release » avec les optimisations activées. Et là encore, les fichiers PDB s’avèrent utiles, car ils permettent de faire correspondre les instructions assembleur profilées au code source que vous avez réellement écrit.

Vous ne pouvez pas générer les fichiers PDB après la compilation.* Si vous ne les créez pas pendant la compilation, vous avez perdu votre chance. Cela ne

(Réponse tronquée)