come posso specificare la directory del codice sorgente in VS quando guardo lo stack di chiamate di un dump della memoria?

StackOverflow https://stackoverflow.com/questions/165699

Domanda

Sto analizzando un file .dmp che è stato creato e ho uno stack di chiamate che mi dà molte informazioni. Ma vorrei fare doppio clic sullo stack di chiamate e farmi portare al codice sorgente.

Posso fare clic con il pulsante destro del mouse sullo stack di chiamate e selezionare le impostazioni dei simboli .. dove posso posizionare la posizione sul PDB. Ma non esiste alcuna opzione per la directory del codice sorgente.

È stato utile?

Soluzione

La directory del codice sorgente è sfortunatamente codificata nel pdb, tuttavia se si conoscono le cartelle richieste è possibile utilizzare il concetto di Windows di collegamenti simbolici, giunzioni.

Uso lo strumento Junction Link Magic

Altri suggerimenti

Leggi questo articolo su come impostare un server di origine (aka SrcSrv) integrazione nel tuo sito.

Ho preso il tempo di seguire questi passaggi per la nostra base di codice, e ora siamo in grado di prendere un file .dmp da qualsiasi build del nostro software negli ultimi 6 mesi ... ottenere una traccia dello stack con simboli ... e visualizza le righe esatte del codice sorgente nel debugger. Dal momento che i passaggi sono integrati nelle nostre build automatizzate, ora ci sono pochissime spese generali.

Avevo bisogno di scrivere un indicizzatore personalizzato per ClearCase, ma ne esistono di preesistenti per Perforce, TFS e forse altri.

Vale la pena notare che il supporto .dmp in VS2005 è un po 'traballante .. è un po' più stabile in VS2008.

Dovrai anche configurare Visual Studio per prendere i simboli per i prodotti MS da qui oltre al tuo server dei simboli:

http://msdl.microsoft.com/download/symbols

Ciò è descritto in alcuni punti, ad esempio negli Strumenti di debug per Windows sito

Windbg consente di impostare percorsi di origine uguali ai percorsi di PDB.

Dopo aver caricato il PDB, passare manualmente al file di origine che corrisponde alla posizione di esecuzione corrente. Un PDB contiene il percorso e il nome file dei file di origine che hanno creato il relativo file binario associato e sospetto che il debugger sia abbastanza intelligente da collegare le cose quando nota che il nome file visualizzato e il nome file associato alla posizione binaria corrente corrispondono.

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