Documentation Home

5.8.1.1 编译MySQL调试

如果你有一些非常具体的问题,你总是可以尝试调试 MySQL。为此,您必须使用该 -DWITH_DEBUG=1选项配置 MySQL。您可以通过执行以下操作检查 MySQL 是否使用调试编译: mysqld --help。如果该 --debug标志与选项一起列出,则您已启用调试。mysqladmin ver还将mysqld版本列为mysql ... --debug在这种情况下。

如果在使用 CMake 选项配置mysqld时它停止崩溃-DWITH_DEBUG=1,您可能发现了 MySQL 中的编译器错误或计时错误。在这种情况下,您可以尝试 -g使用 CMAKE_C_FLAGSCMAKE_CXX_FLAGSCMake 选项添加而不是使用-DWITH_DEBUG=1. 如果 mysqld死机,您至少可以使用 gdb 附加到它在核心文件上使用gdb来查明发生了什么。

当您配置 MySQL 进行调试时,您会自动启用许多额外的安全检查功能来监视 mysqld的健康状况。如果他们发现一些 意外的东西,就会写入一个条目 stderrmysqld_safe会将其 定向到错误日志!这也意味着如果您在使用 MySQL 时遇到一些意想不到的问题并且正在使用源代码分发,那么您应该做的第一件事就是配置 MySQL 以进行调试。如果您认为自己发现了错误,请使用第 1.6 节“如何报告错误或问题”中的说明。

在 Windows MySQL 发行版mysqld.exe 中,默认编译时支持跟踪文件。