2020-12-09-unity 内置dll如何调试

纲要

  • dll调试的原理
  • unity内置dll如何生成pdb
  • unity dll的调试

dll调试的原理

这里另附一篇文章,有兴趣的同学可以去看看!

  • DLL是什么
  • DLL里有什么
  • PDB是什么

DLL是什么

DLL(Dynamic Link Library)字面意思是动态链接库;类似so,都是不能直接执行的,不同于exe,可以理解为exeDelphi调用系统函数的合集;

DLL里有什么

DLL包含EXE或其他DLL使用的函数变量UI资源(如图标,图像,文件等);

PDB是什么

PDB(程序数据库,二进制),里面包含源文件调用的文件信息和行信息。这样就可以逐行调试了。

知道了这些文件的内容,如果我们想要调试dll,就必须要有一个相应的pdb文件

unity内置dll如何生成pdb

  • 工具

    • ILspy

借助ILspy就能生成相应的pdb;只需要把生成的pdb保存在和DLL同一个目录下就可以了!

比如需要调试的是UnityEditor.dll,那么就需要把生成的pdb放置到unity的安装目录下(找到UnityEditor.dll)。

unity dll的调试

进过上面几步生成pdb后,我们使用Rider就能直接在DLL的文件里打断点了!