程序数据库文件(带有后缀 pdb
)包含在 MySQL 的 ZIP Archive Debug Binaries & Test Suite 分发中。这些文件提供了调试 MySQL 安装的信息,以便在出现问题时进行调试。这是一个独立的下载,从标准 MSI 或 Zip 文件中分离出来的。
PDB 文件可以在一个单独的文件中找到,标签为"ZIP Archive Debug Binaries & Test Suite"。
PDB 文件包含了关于 mysqld
和其他工具的详细信息,这些信息使得可以创建更详细的跟踪和转储文件。您可以使用这些文件与 WinDbg 或 Visual Studio 一起调试 mysqld。
有关 PDB 文件的更多信息,请参阅 Microsoft 知识库文章 121366。有关调试选项的更多信息,请参阅 Windows 调试工具。
要使用 WinDbg,可以安装完整的 Windows Driver Kit (WDK) 或安装独立版本。
.exe
和 .pdb
文件必须是精确匹配的(版本号和 MySQL 服务器版本都相同);否则,WinDBG 将在尝试加载符号时抱怨。
-
要生成 minidump
mysqld.dmp
,请在my.ini
文件的 [mysqld] 部分中启用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 中传递每个路径。例如:windbg.exe -i "C:\mysql-8.3.0-winx64\bin\"^ -z "C:\mysql-8.3.0-winx64\data\mysqld.dmp"^ -srcpath "E:\ade\mysql_archives\8.3\8.3.0\mysql-8.3.0"^ -y "C:\mysql-8.3.0-winx64\bin;SRV*c:\symbols*http://msdl.microsoft.com/download/symbols"^ -v -n -c "!analyze -vvvvv"
Note请注意,Windows 命令行处理器将删除
^
字符和换行符,因此请确保空格保持不变。