Como faço para determinar o arquivo e linha # de um método C # a partir de um arquivo de símbolos (.pdb)?
Pergunta
arquivos PDB contêm informações símbolo para .NET assembléias. Eu gostaria de ler um arquivo PDB, a fim de métodos correlacionam com a sua localização do ficheiro. Os dados estão contidos dentro dele, mas eu não consigo encontrar uma boa descrição de como tirá-lo.
Eu sei sobre mdbg , mas que é muito pesado (eu acho / espero) para o que eu quero.
Solução
Você deve olhar:
- Mono.Cecil e, especialmente, o módulo Mono.Cecil.Pdb. Ele deve fazer o que você quer e muito mais.
Outras dicas
Em DbgHelp.dll, você pode usar a função SymGetLineFromAddr64. Você vai precisar usar P / Invoke. Pode haver uma API correspondente no DIA SDK, mas eu não sou tão familiarizado com ele como eu sou DbgHelp.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow