2008-10-02 11 views
6

Los archivos pdb contienen información de símbolos para ensamblados .NET. Me gustaría leer un archivo pdb para correlacionar los métodos con su ubicación de archivo. Los datos están contenidos en él, pero parece que no puedo encontrar una buena descripción de cómo sacarlo.¿Cómo determino el archivo y el número de línea de un método C# de un archivo de símbolos (.pdb)?

Sé acerca de mdbg, pero eso es muy pesado (creo/espero) para lo que quiero.

+0

El rastreo de la pila no incluye los números de línea en el archivo de origen desde el que se compiló. –

+0

Sí, pero necesito esto sin tener que llamar al método y especialmente sin que arroje una excepción que estoy atrapando. –

Respuesta

3

Debe buscar:

  • Mono.Cecil y especialmente el módulo Mono.Cecil.Pdb. Debería hacer lo que quieras y más.
2

En DBGHELP.DLL, puede usar la función SymGetLineFromAddr64. Deberá usar P/Invoke. Puede haber una API correspondiente en el SDK de DIA, pero no estoy tan familiarizado con ella como con DBGHELP.

Cuestiones relacionadas