从.NET DLL文件生成PDB?

时间:2010-05-18 16:37:21

标签: c# .net debugging pdb-files disassembly

我需要能从DLL文件生成PDB的东西(C#.NET代码),有没有免费程序可以做到这一点?

5 个答案:

答案 0 :(得分:23)

即使您没有混淆源代码和代码,也可以通过使用ildasm和ilasm重新编译来创建pdb:

  • 通过 ildasm 反编译程序集:ildasm /out=assembly_name.il assembly_name.dll
  • ilasm 汇合:ilasm assembly_name.il / dll / pdb

答案 1 :(得分:21)

实际上你也可以从1.2版开始使用dotPeek。

在Assembly Explorer中右键单击程序集,然后选择"生成Pdb"。它还可以同时为引用的程序集生成文件。

enter image description here

答案 2 :(得分:11)

PDB包含与DLL相关的调试符号,通常与DLL一起构建。要启用生成pdb文件,请转到项目属性构建标签,高级... 按钮,然后选择调试信息字段“pdb-only”或“full”:

Visual Studio generate PDB

如果您需要调试没有源的第三方程序集,那么 dotPeek ReSharper 将非常有用,可以选择从DLL生成PDB。在ReSharper中,这可以通过 ReSharper >来完成。 Windows > Assembly Explorer 打开必要的程序集并点击“生成Pdb ... ”:

Resharper Generate PDB

答案 3 :(得分:2)

您需要源代码才能生成PDB。

答案 4 :(得分:0)

您可以使用ILSpy。这是一个方便的免费应用程序,用于反汇编和生成托管dll的pdb。