Domanda

Ho sentito che l'utilizzo dei file PDB può aiutare a diagnosticare il punto in cui si è verificato un arresto anomalo.
Mio di base la comprensione è che fornisci a Visual Studio il file sorgente, il file pdb e le informazioni sull'arresto anomalo (dal dottor Watson?)
Qualcuno può spiegare come funziona il tutto/cosa comporta?(Grazie!)

È stato utile?

Soluzione

I file PDB vengono generati quando crei il tuo progetto.Contengono informazioni relative ai binari compilati che Visual Studio può interpretare.

Quando un programma si arresta in modo anomalo e genera un report di arresto anomalo, Visual Studio è in grado di prendere tale report e collegarlo al codice sorgente tramite il file PDB per l'applicazione.I file PDB devono essere creati dallo stesso binario che ha generato il rapporto sull'arresto anomalo!

Ci sono alcuni problemi che abbiamo riscontrato nel tempo.

  • La macchina che sta eseguendo il debug del rapporto sull'arresto anomalo deve avere l'origine sullo stesso percorso della macchina che ha creato il file binario.
  • Le build di rilascio spesso vengono ottimizzate al punto che non è possibile visualizzare lo stato delle variabili dei membri dell'oggetto

Se qualcuno sa come sconfiggere il primo, sarei grato per qualche input.

Altri suggerimenti

I file PDB mappano l'MSIL di un assembly sulle righe di origine originali.Ciò significa che se inserisci il PDB compilato con l'assembly nella stessa directory dell'assembly, le analisi dello stack delle eccezioni avranno i nomi e le righe delle posizioni nei file di origine originali.Senza il file PDB, vedrai solo il nome della classe e del metodo per ogni livello dell'analisi dello stack.

Dovresti considerare la configurazione di un server di simboli e l'indicizzazione dei file PDB nel tuo sistema di controllo del codice sorgente.Recentemente ho seguito questo processo per il nostro prodotto e funziona molto bene.Non devi preoccuparti di rendere disponibili i file PDB con i binari, né di come ottenere il codice sorgente appropriato durante il debug dei file di dump.

Il libro di John Robbins: http://www.amazon.com/Debugging-Microsoft-NET-2-0-Applications/dp/0735622027/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1222366012&sr=8-1

Cerca qui del codice di esempio per generare minidump (che non devono essere limitati all'analisi post-incidente: puoi generarli in qualsiasi punto del codice senza bloccarsi): http://www.codeproject.com/KB/debug/postmortemdebug_standalone1.aspx

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top