【问题标题】:How do I determine the file and line # of a C# method from a symbols (.pdb) file?如何从符号 (.pdb) 文件中确定 C# 方法的文件和行号?
【发布时间】:2008-10-02 07:08:53
【问题描述】:

pdb 文件包含 .NET 程序集的符号信息。我想读取一个 pdb 文件,以便将方法与它们的文件位置相关联。数据包含在其中,但我似乎无法找到如何将其取出的详细说明。

我知道mdbg,但这对于我想要的东西来说非常沉重(我认为/希望)。

【问题讨论】:

  • 堆栈跟踪是否包含针对其编译来源文件的行号。
  • 是的,但我需要这个,而不必调用该方法,尤其是它不会引发我正在捕捉的异常。

标签: c# .net pdb-files


【解决方案1】:

你应该看看:

  • Mono.Cecil 尤其是 Mono.Cecil.Pdb 模块。它应该做你想做的,甚至更多。

【讨论】:

    【解决方案2】:

    在 DBGHELP.DLL 中,您可以使用 SymGetLineFromAddr64 函数。您需要使用 P/Invoke。 DIA SDK中可能有对应的API,但我不像DBGHELP那样熟悉。

    【讨论】:

      猜你喜欢
      • 2012-02-08
      • 2010-09-06
      • 1970-01-01
      • 1970-01-01
      • 2011-10-12
      • 1970-01-01
      • 1970-01-01
      • 2020-09-21
      相关资源
      最近更新 更多