Question

J'ai entendu dire que l'utilisation de fichiers PDB peut aider à diagnostiquer un crash.
D'après ma base , vous fournissez à Visual studio le fichier source, le fichier pdb et les informations sur le crash (fournies par Dr Watson?)
Quelqu'un peut-il s'il vous plaît expliquer comment cela fonctionne / ce qui est impliqué? (Merci!)

Était-ce utile?

La solution

Les fichiers PDB sont générés lors de la construction de votre projet. Ils contiennent des informations relatives aux fichiers binaires construits que Visual Studio peut interpréter.

Lorsqu'un programme se bloque et qu'il génère un rapport d'incident, Visual Studio est en mesure de prendre ce rapport et de le lier au code source via le fichier PDB de l'application. Les fichiers PDB doivent être construits à partir du même fichier binaire ayant généré le rapport d'incident!

Nous avons rencontré certains problèmes au fil du temps.

  • La machine qui débogue le rapport d'incident doit avoir la source sur le même chemin que la machine qui a généré le binaire.
  • Les versions validées sont souvent optimisées dans la mesure où vous ne pouvez pas afficher l'état des variables de membre d'objet

Si quelqu'un sait vaincre l'ancien, je vous serais reconnaissant de votre contribution.

Autres conseils

Les fichiers PDB mappent le MSIL d'un assemblage sur les lignes source d'origine. Cela signifie que si vous placez le PDB compilé avec l'assembly dans le même répertoire que l'assembly, vos traces de pile d'exceptions auront les noms et les lignes des positions dans les fichiers source d'origine. Sans le fichier PDB, vous ne verrez que le nom de la classe et de la méthode pour chaque niveau de la trace de la pile.

Vous devriez envisager de configurer un serveur de symboles et d'indexer les fichiers PDB sur votre système de contrôle de code source. Je viens tout juste de suivre cette procédure pour notre produit et cela fonctionne très bien. Vous n'avez pas à vous soucier de rendre les fichiers PDB disponibles avec les fichiers binaires, ni à obtenir le code source approprié lors du débogage des fichiers de vidage.

Livre de John Robbins: http://www.amazon.com/Debugging- Microsoft-NET-2-0-Applications / dp / 0735622027 / ref = pd_bbs_sr_1? Ie = UTF8 & livres = amp; qid = 1222366012 & amp; sr = 8-1

Recherchez ici un exemple de code permettant de générer des minidumps (qui ne doivent pas nécessairement être limités à une analyse post-crash; vous pouvez les générer à tout moment dans votre code sans planter): http://www.codeproject.com/KB/debug/postmortemdebug_standalone1.aspx

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top