Pergunta

Eu ouvi usando arquivos PDB pode ajudar a diagnosticar onde ocorreu uma falha.
Meu básico o entendimento é de que você forneça o Visual studio o arquivo de origem, o arquivo pdb e as informações de falha (do Dr. Watson?)
Alguém por favor pode explicar como tudo funciona / o que está envolvido?(Obrigado!)

Foi útil?

Solução

Arquivos PDB são gerados quando você construir o seu projeto.Eles contêm informações relacionadas com os scripts que o Visual Studio pode interpretar.

Quando um programa trava e ele gera um relatório de falha, o Visual Studio é capaz de levar o relatório e link de volta para o código fonte através do arquivo PDB para a aplicação.Arquivos PDB deve ser construído a partir do mesmo binário que gerou o relatório de acidente!

Existem alguns problemas que encontramos ao longo do tempo.

  • A máquina que é a depuração de relatório de acidente precisa ter origem no mesmo caminho que a máquina que construiu o binário.
  • Compilações muitas vezes otimizar para o ponto onde você não pode ver o estado do objeto variáveis de membro

Se alguém sabe como derrotar o primeiro, gostaria de ser grato para alguns sinais de entrada.

Outras dicas

Arquivos PDB mapa do assembly MSIL para a fonte original de linhas.Isso significa que se você colocar o PDB que foi compilado com o assembly no mesmo diretório como o assembly, o seu exceção de rastreamentos de pilha vai ter os nomes e linhas de cargos nos arquivos de origem.Sem o arquivo PDB, você vai ver apenas o nome da classe e método para cada nível do rastreamento de pilha.

Você deve olhar para a configuração de um servidor de símbolo e de indexação de arquivos PDB para seu código-fonte do sistema de controle.Eu só recentemente passei por este processo, para o nosso produto e funciona muito bem.Você não tem que estar preocupado em fazer arquivos PDB disponíveis com os binários, nem de como obter o código fonte apropriado quando a depuração de arquivos de despejo.

John Robbins " livro: 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

Veja aqui alguns exemplos de código para gerar minidumps (que não precisa ser restrito a pós-análise de falhas-você pode gerar-los em qualquer ponto no seu código sem bater): http://www.codeproject.com/KB/debug/postmortemdebug_standalone1.aspx

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