介绍

在面向 Windows 平台时,打包构建时一定要导出符号文件,这样可以在崩溃时拿到出错的调用堆栈,方便排查问题。

环境

  • Unity 5.6.6f2
  • Windows 7

导出符号

在打包时,一定要使用 Create PDB file 之类的选项输出符号文件。不同 Unity 版本这个选项名字可能会变。

在 Release 模式下也可以输出符号文件,建议在打包构建时导出符号并对其进行存档管理,后续线上出现的 Bug 都可以使用符号文件查找问题。

加载符号

开发机上崩溃

游戏在启动时直接崩溃,会显示一个应用停止对话框,如果机器上安装有 Visual Studio,会在 关闭 按钮下方显示 调试 按钮,点击后选择创建一个 Visual Studio 版本的新实例。

将打包出来的 player_win_x86.pdb 放到 exe 所在的目录,然后在 调用堆栈 窗口,右键加载符号文件,这时能看到具体出错的方法

非开发机崩溃

非开发机一般都不会安装 Visual Studio,因此需要将 crash.dmp 文件拷贝出来,给开发人员使用。

在崩溃的窗口中会提示 dmp 文件所在的位置,一般都会放在 C:\Users\%UserName%\AppData\Local\Temp 目录下。

开发人员只需要在开发机上使用 Visual Studio 打开 dmp 文件即可。