从.NET DLL文件生成PDB?

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

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

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

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

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

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

在此处输入图像描述

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

Visual Studio生成PDB

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

Resharper生成PDB