2008-10-02 5 views
6

pdb-Dateien enthalten Symbolinformationen für .NET-Assemblys. Ich möchte eine PDB-Datei lesen, um Methoden mit ihrem Speicherort zu korrelieren. Die Daten sind darin enthalten, aber ich kann keine gute Beschreibung finden, wie ich es herausbekomme.Wie kann ich die Datei und die Zeilennummer einer C# -Methode aus einer Symboldatei (.pdb) ermitteln?

Ich weiß über mdbg, aber das ist sehr schwer (ich denke/hoffe) für das, was ich will.

+0

Enthält der Stack-Trace nicht die Zeilennummern für die Quelldatei, aus der er kompiliert wurde. –

+0

Ja, aber ich brauche das, ohne die Methode aufrufen zu müssen und vor allem, ohne dass ich eine Ausnahme erhalte. –

Antwort

3

sollten Sie sehen:

  • Mono.Cecil und vor allem das Mono.Cecil.Pdb Modul. Es sollte tun, was Sie wollen und mehr.
2

In DBGHELP.DLL können Sie die SymGetLineFromAddr64-Funktion verwenden. Sie müssen P/Invoke verwenden. Es könnte eine entsprechende API im DIA SDK geben, aber ich bin nicht so vertraut mit ihr wie ich bin DBGHELP.

Verwandte Themen