使用 CLion 调试 MySQL

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用 CLion 调试 MySQL相关的知识,希望对你有一定的参考价值。

参考技术A

解决方案:

因为 MySQL 5.6 初始化数据比较麻烦,不支持 mysqld 的 --initialize-insecure 选项。
所以不选用这种方式了。

第(2)和第(4)步可以参考 使用 CLion 调试 redis 。

编译成功输出:

击菜单栏【Build】=》【Install】进行安装。

安装成功输出:

初始化数据目录:

选择 mysqld configuration , 以 Debug 模式运行。

成功运行输出:

在 CLion 中,对 sql_parse.cc 中的 mysql_execute_command() 方法进行断点。

执行下面的语句连接上 mysql 服务。

在 mysql-client 中执行如下命令:

然后在 CLion 中即可发现已经被断点拦截,且可以发现 Statement class 中的 query_string 字段和 我们上面输入的命令 show databases 是一样。

至此,已经完成了 CLion 调试 MySQL 环境的搭建。

对于 mysqld ,可以通过设置 debug 系统变量在运行时更改 DBUG设置 。

此变量具有全局值和会话值:

该 debug_options 值是用 冒号( : )分隔 的字段的序列:

值中的每个字段都包含一个强制性标志字符。

我们使用的标志字符如下所示:

以 root 用户连接到 mysqld。

然后,在 mysql 中执行 select 语句,就可以在 CLion console 中观察到如下图所示输出。

以上是关于使用 CLion 调试 MySQL的主要内容,如果未能解决你的问题,请参考以下文章

使用 CLion 调试节点插件

可以在运行/调试配置中使用 CLion 宏吗?

在 windows 上使用 clion 调试 rust 代码

使用gdbserver从clion调试jni库

clion中无需人工干预自动启动远程调试

使用 CLion 调试 redis