内容简介:前面写了几篇文章来通过调试 MySQL 源码来分析死锁问题,有读者问如何用 IDE 调试源码,这篇文章简单介绍一下如何在 Mac 下调试。之所以使用调试的方式来分析死锁问题是因为在解决 MySQL 死锁的过程中比较纠结,就算找到了原因,也比较难说服自己原理就是书上或者网上博客里些的那样,所以就开始研究 MySQL 的源码,花了一些时间搭建了在 Clion 中调试源码的环境。整个过程其实非常简单也很顺利。Clion 是宇宙第二强的 IDE 公司 jetbrains 旗下的一款 C/C++ IDE 工具,我们做
前面写了几篇文章来通过调试 MySQL 源码来分析死锁问题,有读者问如何用 IDE 调试源码,这篇文章简单介绍一下如何在 Mac 下调试。
之所以使用调试的方式来分析死锁问题是因为在解决 MySQL 死锁的过程中比较纠结,就算找到了原因,也比较难说服自己原理就是书上或者网上博客里些的那样,所以就开始研究 MySQL 的源码,花了一些时间搭建了在 Clion 中调试源码的环境。整个过程其实非常简单也很顺利。
下载 Clion
Clion 是宇宙第二强的 IDE 公司 jetbrains 旗下的一款 C/C++ IDE 工具,我们做 Java 用的 IntelliJ IDEA、 Python 用的 PyCharm、 Go 用的 Goland 都是出自这家,很好很强大。 从下面的地址下载安装: www.jetbrains.com/clion/
编译安装 MySQL
这里选择的是 5.5 版本的源码,源码体积和编译速度比 5.7 的快太多,对于我们理解 MySQL 的原理没有太大的区别,所以这里选择了 5.5
# 1. 下载解压源码 wget https://cdn.mysql.com//Downloads/MySQL-5.5/mysql-5.5.62.tar.gz tar -xzvf mysql-5.5.62.tar.gz # 2. 生成目录 // 生成编译后安装目录及数据目录 mkdir -p build_out/data # 3.编译 cmake . -DWITH_DEBUG=1 \ -DCMAKE_INSTALL_PREFIX=build_out \ -DMYSQL_DATADIR=build_out/data make && make install # 4. 初始化 mysql 数据库 cd build_out scripts/mysql_install_db 复制代码
Clion 配置
1.配置 Cmake,内容如下图
--defaults-file=/path/to/my.cnf
一个可参考的 my.conf 配置如下
[mysqld] log-error=log.err datadir=data pid-file=user.pid skip-grant-tables innodb_file_per_table=1 port=33060 transaction_isolation = READ-COMMITTED [client] # 客户端来源数据的默认字符集 default-character-set = utf8mb4 [mysqld] # 服务端默认字符集 character-set-server=utf8mb4 # 连接层默认字符集 collation-server=utf8mb4_unicode_ci [mysql] # 数据库默认字符集 default-character-set = utf8mb4 复制代码
点击 debug 按钮进行调试
ps:注意 mysqld 所在的列表不是按字母序来 排序 的,拼命往下拉就可以找到了。
不出意外这个时候,MySQL 就启动起来了,监听了我们上面设置的 33060 端口,用 MySQL 的客户端就可以正常连接上去了(账号 root,密码空)
Cion 可以非常方便的断点单步调试和查看变量的值,比如我们在 sql_parse.cc 的 do_command 函数打一个断点,随便执行一个 sql 语句就可以看到单步调试到了这里
到此 MySQL 源码编译调试的过程基本就讲完了,后面会有更多用调试来解决一些具体问题的案例,尽请期待。如果有什么问题可以留言或者加微信沟通。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Golang源码探索(一) 编译和调试源码
- 使用gdb调试工具上手调试php和swoole源码
- JVM源码分析-JVM源码编译与调试
- 调试 Flink 源码
- Node.js 源码调试
- 如何断点调试Tomcat源码
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Beginning ARKit for iPhone and iPad
Wallace Wang / Apress / 2018-11-5 / USD 39.99
Explore how to use ARKit to create iOS apps and learn the basics of augmented reality while diving into ARKit specific topics. This book reveals how augmented reality allows you to view the screen on ......一起来看看 《Beginning ARKit for iPhone and iPad》 这本书的介绍吧!