Como faço para usar os arquivos PDB
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!)
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