Domanda

Come posso ottenere uno stack di chiamate completo per un'applicazione c ++ sviluppata con Visual Studio 2005? Vorrei avere uno stack di chiamate completo che includa il codice nelle librerie di sistema.

Devo modificare alcune impostazioni in Visual Studio o devo installare software aggiuntivo?

È stato utile?

Soluzione

  1. Ottieni informazioni di debug per tutte le dipendenze del progetto. Questo è specificato in " Proprietà di configurazione - > C / C ++ - > Generale " sezione delle proprietà del progetto.

  2. Nel menu, vai a " Strumenti - > Opzioni " quindi seleziona " Debug - > Simboli " ;.

  3. Aggiungi una nuova posizione per i simboli (l'icona della cartella) che punta al server dei simboli gratuito di Microsoft & # 8220; symsrv symsrv.dll c: \ simboli * http://msdl.microsoft.com/downloads/symbols & # 8220;

  4. Compila i " simboli cache " campo con un posto localmente in modo da non andare sempre su Internet.

Altri suggerimenti

Accetto con Clay, ma per Symbols Server dovresti ottenere l'ultimo symsrv.DLL da "Strumenti di debug per Windows", un download gratuito di Microsoft.

(Dato che hai chiesto esplicitamente cosa devi scaricare, presumo che tu non l'abbia ancora)

Oppure, facoltativamente (supponendo che Visual Studio non sia installato), prendere una copia di Strumenti di debug di Windows , installa ed esegui la tua app dal debugger (windbg.exe) o collegala a un'app già in esecuzione:

windbg [.exe] -pn program.exe
o
windbg [.exe] -p process_id

Rompi il debugger nel punto che desideri osservare per lo stack trace (Ctrl + Break). Passa al thread di interesse (molto probabilmente il thread di esecuzione principale):

~ 0s

Risolvi i simboli per i moduli di sistema (e probabilmente anche per l'app, se disponibili):

* risolvi i simboli per l'app
.sympath path_to_app_symbols
* configura dove il debugger scaricherà e memorizzerà i simboli di sistema
.symfix + path_where_system_symbols_will_be_stored
* impone al debugger di ricaricare i simboli
.reload

Emette un comando di stack di chiamate:

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