7.9.1.3 使用 WER 和 PDB 创建 Windows 崩溃转储
程序数据库文件(带后缀pdb
)包含在 MySQL 的 ZIP归档调试 Binaries & Test Suite 分发中。这些文件提供了在出现问题时 debug MySQL 安装的信息。这是一个独立下载,从标准 MSI 或 Zip 文件中分开。
PDB 文件可在单独的文件“ZIP Archive Debug Binaries & Test Suite”中找到。
PDB 文件包含了关于mysqld
和其他工具的更多详细信息,允许创建更详细的跟踪和转储文件。你可以使用WinDbg或 Visual Studio 来 debug mysqld。
关于 PDB 文件的更多信息,请见 Microsoft 知识库文章 121366。关于可用的调试选项,见 Debugging Tools for Windows。
要使用 WinDbg,可以安装完整的 Windows 驱动程序包(WDK)或安装独立版本。
.exe
和.pdb
文件必须是精确匹配(包括版本号和 MySQL 服务器版本),否则 WinDbg 将在尝试加载符号时抱怨。
-
生成一个 minidump 文件
mysqld.dmp
,在 [mysqld] 部分的my.ini
文件中启用core-file
选项,然后重启 MySQL 服务器。 -
创建一个存储生成文件的目录,例如
c:\symbols
-
确定 windbg.exe 可执行程序的路径,可以使用 Find GUI 或从命令行,例如:
dir /s /b windbg.exe
— 通常默认路径为C:\Program Files\Debugging Tools for Windows (x64)\windbg.exe -
启动
windbg.exe
,并将其传递到mysqld.exe
、mysqld.pdb
、mysqld.dmp
和源代码的路径。或者,从 Windbg GUI 中输入每个路径。例如:Press CTRL+C to copywindbg.exe -i "C:\mysql-8.4.0-winx64\bin\"^ -z "C:\mysql-8.4.0-winx64\data\mysqld.dmp"^ -srcpath "E:\ade\mysql_archives\8.4\8.4.0\mysql-8.4.0"^ -y "C:\mysql-8.4.0-winx64\bin;SRV*c:\symbols*http://msdl.microsoft.com/download/symbols"^ -v -n -c "!analyze -vvvvv"
NoteWindows 命令行处理器会将
^
字符和换行符删除,因此确保空格保持完整。