从.NET DLL文件生成PDB?

Bru*_*oLM 27 .net c# debugging disassembly pdb-files

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

dev*_*evi 23

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

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


Ste*_*lio 21

实际上你也可以用1.2版本的dotPeek来做.

在Assembly Explorer中右键单击程序集,然后选择"Generate Pdb".它还可以选择一次为所引用的程序集生成文件.

在此输入图像描述


Vit*_*kov 11

PDB包含与DLL相关的调试符号,通常与DLL一起构建.要启用生成pdb文件,请转到项目属性,构建选项卡,高级...按钮,然后在调试信息字段中选择"仅限pdb"或"完整":

Visual Studio生成PDB

如果你需要调试没有源代码的第三方程序集,那么dotPeekReSharper将非常有用,可以选择从DLL生成PDB.在ReSharper中,这可以通过ReSharper > Windows > Assembly Explorer完成,方法是打开必要的程序集并单击" Generate Pdb ... ":

Resharper生成PDB


Dar*_*rov 0

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

  • 好吧,我可以使用 Reflector 来获取源代码,那么我需要什么来获取 PDB? (11认同)
  • @BrunoLM Reflector Pro(他们为您提供的 15 天试用版)正是这样做的 - 它将反编译整个程序集并构建一个 PDB,以便您可以对其进行调试。 (9认同)
  • 有点误导性的答案。@Rup 是对的,我过去使用过这个选项,而且效果非常好! (2认同)