2012-09-03 10 views
13

Ho un file *.dmp (dump) della mia applicazione arrestata. Ora, voglio analizzare il processo in crash su una macchina diversa. Cioè, l'app si è arrestata in modo anomalo su una macchina e Visual Studio su un'altra macchina.Analisi di dump di crash in Visual Studio

Ora, cosa è necessario per poter visualizzare la traccia dello stack e tutti i simboli della mia app? Il file *.exe e il file *.dmp sono sufficienti?

Oppure è necessario anche il codice sorgente e il file PDB?

In tal caso, se il codice sorgente e il file eseguibile dovessero essere posizionati nella stessa struttura di directory in cui si trova sulla macchina, il processo era in esecuzione?

Come allegare il file PDB al file di dettagli di arresto anomalo in Visual Studio?

risposta

20

No, è sicuramente necessario i file .pdb per ottenere tracce di stack decenti. Di gran lunga il modo più semplice è quello di fare questo dal computer su cui è stato creato il programma, il codice sorgente e i file .pdb saranno nel posto giusto.

La prossima cosa migliore è copiare esattamente gli stessi eseguibili nella stessa identica cartella in cui è stata installata sulla macchina malfunzionante. Copia i file .pdb nella stessa directory, è qui che il debugger appare dopo se non riesce a trovarli nel percorso di generazione originale. Una volta che il debugger atterra su un'istruzione con il codice sorgente e il file .pdb non è stato rimosso, verrà richiesto di indicare il percorso del file del codice sorgente.

La prossima cosa migliore è Strumenti + Opzioni, Debug, Simboli e aggiungere il percorso alla directory che contiene i file .pdb.

Nella stessa finestra di dialogo, attivare anche Microsoft Symbol Server (http://msdl.microsoft.com/download/symbols). Questo ti porta i simboli per le DLL di Windows e ti consente di risalire con precisione al tuo codice se l'arresto si è verificato in una DLL di Windows.