怎么样使用CLion调试分析MySQL Server

怎么样使用CLion调试分析MySQL Server,第1张

由于在写MySQL日志订阅服务时候,需要确定在什么event之后保存position,所以就开始研究MySQL的源码,刚开始采用最原始的打印输出的方式去调试,然后每次改完编译运行,效率好低,让我很绝望,然后我花了些时间研究下怎么使用CLion Debug MySQL。

获取源码

git clone https://github.com/mysql/mysql-server

编译安装初始化数据库

cd mysql-server

cmake \

-DCMAKE_INSTALL_PREFIX=/path/mysql/install \

-DMYSQL_DATADIR=/path/mysql/data \

-DSYSCONFDIR=/path/mysql/etc \

-DMYSQL_UNIX_ADDR=/path/mysql/mysql.sock \

-DWITH_DEBUG=1 \

-DDOWNLOAD_BOOST=1 -DWITH_BOOST=/path/mysql-server/ -DDOWNLOAD_BOOST_TIMEOUT=60000

make -j 4

make install -j 4

mysqld --initialize-insecure --user=root --datadir=/path/mysql/data

启动MySQL,测试下是否安装成功

/path/install/bin/mysqld --defaults-file=/path/mysql/etc/my.cnf

使用CLion新建工程并打开源码目录之后,设置CLion

CMake Options和你编译安装时的选项一致

-DCMAKE_INSTALL_PREFIX=/path/mysql/install

-DMYSQL_DATADIR=/path/mysql/data

-DSYSCONFDIR=/path/mysql/etc

-DMYSQL_UNIX_ADDR=/path/mysql/mysql.sock

-DWITH_DEBUG=1

然后在CLion里,Reload CMake Project

在Run/Debug列表里就可以看到很多选项了

找到mysqld配置下启动参数

mysqld --defaults-file=/path/mysql/etc/my.cnf

然后以Debug模式启动,看下成功的效果

CMakeLists.txt 决定了 CLion 对项目的所有配置,一定要修改它。

为了便于跨平台(甚至只是跨机器),不建议指定具体的库目录,而是使用 find_package 让 CMake 去寻找这个库。当然 find_package 没有带对应的 .cmake 模块的时候,可以用 pkg_config 代替。

对于 boost,只要使用 find_package 即可。如:

set(Boost_USE_STATIC_LIBS ON)

find_package(Boost 1.57.0 COMPONENTS log thread system regex REQUIRED)

就是指定了使用静态链接的 boost,并尝试寻找 boost 的 log, thread, system, regex 这些库。

然后再使用 target_link_libraries(MyTarget ${Boost_LIBRARIES}) 就可以指定让 MyTarget 这个目标链接到找到的库。

Visual Studio包含 Visual Basic ...

那个都可以啊~~ 只要编译通过 生成工程 通过了就可以了~

VF那个 开发数据库的 DBMS... 到VS.NET后就被 分离出去了~

单独的VB和 包含VB的VS 都可以独立运作的~


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10699286.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存