运行pdb2mdb.exe

时间:2017-01-21 22:46:43

标签: unity3d unity5

我正在尝试从“.pdb”文件生成“.mdb”文件,以便为DLL设置调试会话。但是我在pdb2mdb.exe文件上收到“BadImageFormatException:Invalid PE file”。

与问题相关的Unity文档:https://docs.unity3d.com/Manual/UsingDLL.html

这是我正在运行的命令:

"D:\Program Files\Unity\Editor\Data\Mono\lib\mono\2.0\pdb2mdb.exe" "D:\Projects\UnityXGame\UnityXGame.Games\UnityXGame.Sandbox\Assets\UnityXGame.Unity.Common.pdb"

此参考文件正确地适用于Unity 5。我可以调用类及其实例。

我收到以下错误:

  

未处理的异常:System.BadImageFormatException:无效的PE文件   文件名:   'd:\项目\ UnityXGame \ UnityXGame.Games \ UnityXGame.Sandbox \资产\ UnityXGame.Unity.Common.pdb'   ---> Mono.Cecil.Binary.ImageFormatException:Mono.Cecil.Binary.ImageReader.VisitDOSHeader(DOSHeader)中的Invali d PE文件签名   标题)在Mono.Cecil.Binary.Image.Accept(IBinaryVisitor visitor)
  在Mono.Cecil.Binary.ImageReader.Read(String file)at   Mono.Cecil.Binary.ImageReader.Read(String file)at   Mono.Cecil.AssemblyFactory.GetAssembly(String file)at   Pdb2Mdb.Driver.Main(String [] args)

有什么想法我可以解决这个错误吗?

1 个答案:

答案 0 :(得分:2)

传递给pdb2mdb的参数应该是汇编文件(.exe或.dll)而不是.pdb文件。在Unity文档页面上没有很好地解释该工具的使用,但here are some tips on how to use it