MySQL 8.4 Release Notes
7.9.1.1 编译 MySQL 进行调试
如果您遇到某些非常特定的问题,可以尝试调试 MySQL。要做到这点,您必须使用 -DWITH_DEBUG=1
选项配置 MySQL。您可以通过执行:mysqld --help 检查 MySQL 是否编译了调试信息。如果 --debug
标志列出了选项,那么您就启用了调试。mysqladmin ver 也会将 mysqld 版本显示为 mysql ... --debug 的情况。
如果使用mysqld配置了-DWITH_DEBUG=1
CMake选项,但它不崩溃,那么可能是编译器bug或MySQL中的时间bug。在这种情况下,你可以尝试使用CMAKE_C_FLAGS
和CMAKE_CXX_FLAGS
CMake选项,不使用-DWITH_DEBUG=1
。如果mysqld崩溃,你可以至少使用gdb附加到它,或者在core文件上使用gdb来找到问题发生的原因。
当您为MySQL配置调试时,自动启用许多额外的安全检查函数,它们监控mysqld的健康状态。如果它们发现一些“不期望的,”,将写入到stderr
,然后mysqld_safe将其写入到错误日志中!这也意味着,如果您遇到了MySQL的某些不期望的问题,并且使用源代码分布,首先应该配置MySQL为调试模式。如果您认为自己发现了bug,请按照第1.6节,“如何报告错误或问题”中的指令操作。
在Windows MySQL分布中,mysqld.exe
默认编译支持跟踪文件。