2008-10-02 10 views
6

Pliki pdb zawierają informacje symboliczne dla zestawów .NET. Chciałbym przeczytać plik pdb w celu skorelowania metod z lokalizacją ich plików. Dane są w nim zawarte, ale nie mogę znaleźć dobrego opisu, jak je wydobyć.Jak określić plik i linię # metody C# z pliku symboli (.pdb)?

Wiem o mdbg, ale to jest bardzo ciężkie (myślę/mam nadzieję) o to, czego chcę.

+0

Czy śledzenie stosu nie zawiera numerów wierszy w stosunku do pliku źródłowego, z którego została skompilowana. –

+0

Tak, ale potrzebuję tego bez konieczności wzywania metody, a zwłaszcza bez rzucania wyjątku, który łapię. –

Odpowiedz

3

Państwo powinno wyglądać:

  • Mono.Cecil a zwłaszcza moduł Mono.Cecil.Pdb. Powinno robić to, co chcesz i więcej.
2

W DBGHELP.DLL można użyć funkcji SymGetLineFromAddr64. Musisz użyć P/Invoke. Może być odpowiedni interfejs API w DIA SDK, ale nie jestem tak obeznany, ponieważ jestem DBGHELP.

Powiązane problemy