28.5.1.3 结合使用 WER 和 PDB 创建 Windows 崩溃转储

程序数据库文件(后缀pdb)包含在 MySQL 的“ ZIP 存档调试二进制文件和测试套件”分发中。这些文件提供了在发生问题时调试 MySQL 安装的信息。这是从标准 MSI 或 Zip 文件中单独下载的。

Note

PDB 文件位于一个单独的文件中,该文件标有“ ZIP 存档调试二进制文件和测试套件”。

PDB 文件包含有关mysqld和其他工具的更详细的信息,这些工具使您可以创建更详细的跟踪和转储文件。您可以将它们与 WinDbg 或 Visual Studio 一起使用来调试mysqld

有关 PDB 文件的更多信息,请参见Microsoft 知识库文章 121366。有关可用调试选项的更多信息,请参见Windows 调试工具

要使用 WinDbg,请安装完整的 Windows 驱动程序工具包(WDK)或安装独立版本。

Important

.exe.pdb文件必须完全匹配(版本号和 MySQL 服务器版本),否则 WinDBG 在尝试加载符号时会抱怨。

  • 要生成小型转储mysqld.dmp,请启用my.ini的[mysqld]部分下的core-file选项。进行这些更改后,重新启动 MySQL 服务器。

  • 创建一个目录来存储生成的文件,例如c:\symbols

  • 使用查找 GUI 或从命令行确定 windbg.exe 可执行文件的路径,例如:dir /s /b windbg.exe-通用默认值为* C:\ Program Files\Windows 调试工具(x64)\ windbg。可执行程序*

  • 启动windbg.exe,为其提供mysqld-debug.exemysqld.pdbmysqld.dmp的路径和源代码。或者,从 WinDbg GUI 传递每个路径。例如:

windbg.exe -i "C:\mysql-5.7.32-winx64\bin\"^
 -z "C:\mysql-5.7.32-winx64\data\mysqld.dmp"^
 -srcpath "E:\ade\mysql_archives\5.7\5.7.32\mysql-5.7.32"^
 -y "C:\mysql-5.7.32-winx64\bin;SRV*c:\symbols*http://msdl.microsoft.com/download/symbols"^
 -v -n -c "!analyze -vvvvv"

Note

Windows 命令行处理器删除了^字符和换行符,因此请确保空格保持不变。