Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 Reference Manual  /  ...  /  Compiling MySQL for Debugging

7.9.1.1 编译 MySQL 进行调试

如果您遇到某些非常特定的问题,可以尝试调试 MySQL。要做到这点,您必须使用 -DWITH_DEBUG=1 选项配置 MySQL。您可以通过执行:mysqld --help 检查 MySQL 是否编译了调试信息。如果 --debug 标志列出了选项,那么您就启用了调试。mysqladmin ver 也会将 mysqld 版本显示为 mysql ... --debug 的情况。

如果使用mysqld配置了-DWITH_DEBUG=1CMake选项,但它不崩溃,那么可能是编译器bug或MySQL中的时间bug。在这种情况下,你可以尝试使用CMAKE_C_FLAGSCMAKE_CXX_FLAGSCMake选项,不使用-DWITH_DEBUG=1。如果mysqld崩溃,你可以至少使用gdb附加到它,或者在core文件上使用gdb来找到问题发生的原因。

当您为MySQL配置调试时,自动启用许多额外的安全检查函数,它们监控mysqld的健康状态。如果它们发现一些不期望的,,将写入到stderr,然后mysqld_safe将其写入到错误日志中!这也意味着,如果您遇到了MySQL的某些不期望的问题,并且使用源代码分布,首先应该配置MySQL为调试模式。如果您认为自己发现了bug,请按照第1.6节,“如何报告错误或问题”中的指令操作。

在Windows MySQL分布中,mysqld.exe默认编译支持跟踪文件。