MySQL源码安装系列之-使用Eclipse来debug mysql源码

在看这篇文章之前,应该先参考下面的文章先使用源码方法安装好mysql

https://blog.csdn.net/qingsong3333/article/details/80891152

安装好之后,就可以使用eclipse来调试MySQL的源代码了:

1. 下载Eclipse for c/c++, 以及jre

Eclipse下载地址如下,下载之后文件名为 eclipse-cpp-oxygen-3a-linux-gtk-x86_64.tar.gzip
http://www.eclipse.org/downloads/eclipse-packages/?osType=linux&release=undefined

Eclipse IDE for C/C++ Developers

jre下载地址,下载之后文件名为 jre-8u171-linux-x64.tar.gz
http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html

2. 环境设置
新建目录/software,将上面两个文件移动到该目录下,并使用"tar -zxvf 文件名"解压,解压之后目录结构:
/software/jre1.8.0_171/
/software/eclipse

在root的$HOME目录下的.profile中添加以下文件(如果没有这个文件,则创建一个)
export JAVA_HOME=/software/jre1.8.0_171/
export PATH=$PATH:/software/jre1.8.0_171/bin
alias starteclipse=/software/eclipse/eclipse

之后运行以下命令,查看java版本,并启动eclipse.
# source .profile 
# java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
#starteclipse

3. 调试MySQL
启动Eclipse之后,导入MySQL项目,点击菜单 File-> New-> Makefile Project with Existing Code,按如下界面填写:
Project Name: mysql
Existing Code Location: /root/mysql-5.7.22

Toolchain for Indexer Settings: 选择Linux GCC。

MySQL源码安装系列之-使用Eclipse来debug mysql源码_第1张图片


然后就可以在左侧的Project Explorer看到mysql项目,在mysql项目上点击鼠标右健,菜单选择最下面的 Properties:

MySQL源码安装系列之-使用Eclipse来debug mysql源码_第2张图片

出现"Properties for mysql"界面,在C/C++ Build ->Settings->Binary Parsers中同时勾选上GNU Elf Parser和Elf Parser,如下图所示,然后点击Apply and Close.

MySQL源码安装系列之-使用Eclipse来debug mysql源码_第3张图片


再次在mysql项目上点击鼠标右健,菜单选择 Debug As -> Debug Configurations,出现Debug Configurations界面,双击左侧C/C++ Application,选择mysql default,按照如下两张图填写:

MySQL源码安装系列之-使用Eclipse来debug mysql源码_第4张图片

MySQL源码安装系列之-使用Eclipse来debug mysql源码_第5张图片

配置已经完成了,先打开主函数看一眼,打开sql/main.cc,可以看到main函数内部只有一行代码:
MySQL源码安装系列之-使用Eclipse来debug mysql源码_第6张图片

点击上图中的红色框内的小虫子,就开始debug了,如现如下界面。对于调试,不做介绍。

MySQL源码安装系列之-使用Eclipse来debug mysql源码_第7张图片

F5: 进入函数
F6: 下一步
F7: 跳出函数

提示1:如果想从debug界面回到project界面,可以点击菜单栏:Window->Perspective->Open Perspective-> c/c++ 

你可能感兴趣的:(MYSQL)