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.exe
,mysqld.pdb
,mysqld.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 命令行处理器删除了^
字符和换行符,因此请确保空格保持不变。