关于代码的编译,网上有很多资料,我这里不做详细的描述。推荐这篇博客,可以按照他的方法去做:
http://blog.csdn.net/yeno/article/details/8053571
我重点要说的是代码的调试:
我用gdb来调试MySQL代码:
$gdb --args /usr/local/mysql/bin/mysqld
$b mysql_select
$b my_net_read
$b mysql_lock_tables
$b ha_myisam::open
我们设置了四个断点:
mysql_select:查询语句的执行函数
my_net_read:MySQL网络数据读取函数
mysql_lock_tables:该函数定义了MySQL表锁操作
ha_myisam::open:是存储引擎MyISAM的文件打开函数
启动MySQL:
$run -u root
启动后,我们在另外一个shell中,使用MySQL客户端连接MySQL服务器:
$bin/mysql -u root -p
继续 (gdb) c
在客户端就会显示:
下面就可以调试代码了!一般来说就是设断点,查看运行过程,看源码。
我们的后续系列将和大家一起去探寻MySQL源码!