美文网首页
使用CLion编译调试MySQL

使用CLion编译调试MySQL

作者: 王白告龙 | 来源:发表于2019-06-22 18:54 被阅读0次

环境准备

  1. mac os
  2. Clion (一款C++IDE开发工具)
  3. Mysql 8.0 源码 (下载地址:https://github.com/mysql/mysql-server)

编译MySQL服务端

导入源码到Clion

  1. 通过"New Cmake Project from Sources"打开mysql源码
image.png
  1. 选择"Open Existing Project"
image.png

配置cmake

打开cmake配置页面: clion -> Preferences -> Build,Execution,Deployment -> CMake

image.png

CMake options配置如下:

-DWITH_DEBUG=1
-DDOWNLOAD_BOOST=1
-DDOWNLOAD_BOOST_TIMEOUT=60000
-DWITH_BOOST=/usr/local/Cellar/boost

Generation path : 编译时生成的文件,存放此路径下

因此编译生成的mysqld文件,存放在cmake-build-debug/bin路径下

运行cmake

点击 File -> Reload CMake Project

image.png

编译 and 初始化mysql

点击右上角的 Edit Configurations...

image.png

找到mysqld,并配置Program arguments

image.png
--basedir=/Users/haolong/Desktop/test/mysql
--datadir=/Users/haolong/Desktop/test/mysql/data
--initialize-insecure

保存配置后,点击debug按钮(下图箭头所指),进行编译和初始化mysql数据目录

image.png

首次编译,比较慢,耐心等待即可。编译成功后,控制点会输出如下内容

image.png

运行mysqld

  1. 修改mysqld的Program arguments配置

    删除最后一行,保留之前的配置即可,如下图所示

image.png
  1. 点击debug按钮,控制台输出如下,表示mysql服务端启动成功
image.png

连接MySQL服务端

编译mysql命令

点击"Edit Configurations..."

image.png

找到"mysql"(注意不是mysqld),点击ok按钮

image.png

点击debug按钮,编译mysql

image.png

编译后,控制台可能有如下ERROR日志,不用理会,我们的目的是生成mysql文件

image.png

设置断点

在clion中,对row0mysql.cc类的row_insert_for_mysql_using_ins_graph方法设置断点

当执行insert语句时,就会进入此断点

连接服务端

还记得去哪里找编译生成的mysql文件吧?

当然是配置cmake时,指定的Generation path目录

然后进入此目录,登录mysql命令行

cd /Users/haolong/Desktop/test/mysql-server-8.0/cmake-build-debug

bin/mysql -u root

然后:执行插入语句,即可跳入断点

image.png

参考资料

在Mac上使用CLion编译MySQL

CMake 入门实战

相关文章

网友评论

      本文标题:使用CLion编译调试MySQL

      本文链接:https://www.haomeiwen.com/subject/fcbvqctx.html