Pergunta

Como posso obter uma pilha de chamadas completa para um c ++ aplicativo desenvolvido com o Visual Studio 2005? Eu gostaria de ter uma pilha de chamadas completo, incluindo o código nas bibliotecas do sistema.

Eu tenho que alterar algumas configurações no Visual Studio, ou eu tenho que instalar software adicional?

Foi útil?

Solução

  1. Obter informações de depuração para todas as dependências do projeto. Esta é especificada no "Propriedades de Configuração -> C / C ++ -> Geral". Seção das propriedades do projeto

  2. No menu, vá para "Ferramentas -> Opções", selecione "Depuração -> Símbolos".

  3. Adicionar um novo local símbolo (o ícone da pasta) que aponta para servidor símbolo livre da Microsoft “symsrv Symsrv.dll c: \ símbolos * http://msdl.microsoft.com/downloads/symbols

  4. Preencha a "símbolos cache" de campo com algum lugar localmente para que você não ir para a internet o tempo todo.

Outras dicas

Concordo com Clay, mas por símbolos Server, você deve obter as últimas SymSrv.dll de "Debugging Tools for Windows", a Microsoft download gratuito.

(Uma vez que você pediu explicitamente o que você precisa para download, eu presumo que você não tem ainda)

Ou, opcionalmente (assumindo que Visual Studio não está instalado), pegue uma cópia do Windows Debugging Tools , instalar e quer executar seu aplicativo de dentro do depurador (windbg.exe) ou tê-lo anexar a um aplicativo em execução:

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

Break no depurador no ponto em que deseja observar para rastreamento de pilha (Ctrl + Break). Mudar para o fio de interesse (muito provavelmente o principal segmento de execução):

~ 0s

Corrija-se símbolos de módulos do sistema (e provavelmente para o aplicativo, bem como se disponível):

* Fix-se símbolos para aplicação
.sympath path_to_app_symbols
* configure onde depurador irá baixar e sistema de armazenamento de símbolos
.symfix + path_where_system_symbols_will_be_stored
* força depurador para símbolos de recarga
.reload

Emita um comando pilha de chamadas:

kb
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top