编译MySQL进行调试
如果您遇到一些非常具体的问题,则可以随时尝试调试MySQL。为此,您必须使用该-DWITH_DEBUG=1
选项配置MySQL 。您可以通过执行以下操作来检查MySQL是否已通过调试进行编译:mysqld --help。如果该--debug
标志与选项一起列出,则您已启用调试。mysqladmin ver在这种情况下还将mysqld版本列为mysql ...--debug。
如果使用CMake选项配置mysqld时,mysqld停止崩溃-DWITH_DEBUG=1
,则可能是在MySQL中发现了一个编译器错误或一个计时错误。在这种情况下,您可以尝试-g
使用CMAKE_C_FLAGS
和CMAKE_CXX_FLAGS
CMake选项添加而不使用-DWITH_DEBUG=1
。如果mysqld的模具,你至少可以附加到它与GDB或使用GDB的核心文件,以找出发生了什么。
当您配置MySQL进行调试时,您会自动启用许多额外的安全检查功能,以监视mysqld的运行状况。如果他们发现“意外”的内容stderr
,则将写入一个条目,mysqld_safe会将其定向到错误日志!这也意味着,如果您在使用MySQL时遇到一些意外问题,并且正在使用源代码分发,那么您应该做的第一件事就是配置MySQL进行调试。如果您认为发现了错误,请按照“如何报告错误或问题”中的说明进行操作。
在Windows MySQL发行版中,mysqld.exe
默认情况下已编译为支持跟踪文件。