本篇内容介绍了“怎么在eclipse中配置MySQL源码环境”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理...
本篇内容介绍了“怎么在eclipse中配置MySQL源码环境”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
今天费了些周折,总算搭建好了MySQL源码的调试环境,主要的目的就是想在看代码的时候有一些头绪,让这些开发技巧派上用场。不至于盲人摸象一般的拿着命令肉眼扫视,当然对于代码至于能不能啃下来,那是另外一回事了。
我来说说我的情况,Java开发还有一点基础,所以以前的eclipse还算用得比较熟悉。大家知道InnoDB的源码是c,MySQL
Server的是c++,这样一套环境想调试好,如果没有这方面的平台开发经验其实还是有一点难度的。最后我还是决定使用eclipse来做,基于Windows平台。
里面趟了好几个坑,让我苦不堪言。
先要做几件事情
1)下载MySQL源码
2)下载开发IDE eclipse
3) 编译环境调试
4) 配置代码调试方式
下载MySQL源码
MySQL源码的下载,直接到www.mysql.com上面,选择社区版,下载类型是source code,就可以看到下面的选项了。
![怎么在eclipse中配置MySQL源码环境](https://1eqimg.oss-cn-shenzhen.aliyuncs.com/upload/20240325/ywz3bvdd0je.jpg)
比如说我选择的是这个5.6.35的版本。最新的是5.7的,再早一些的是5.5版本的,之前的还真不好找了,得通过其他渠道了。
下载IDE eclipse
eclipse是个开发通用平台的IDE,不过这个说法现在受到了IntelliJ
IDEA的挑战,目前来看挑战成功,其中有一部分原因和新版本的一些界面的改进有关,不过相对来说eclipse这个工具Java开发者用得多一些,有些面试里还会问里面的几个快捷键,一问就能问出来i用得怎么样。可能有的朋友就会问,eclipse是Java开发用得多一些,那和MySQL源码环境有什么关系。难道在里面用Java编辑器看c++代码,非也。
因为eclipse还是有c++版的插件的,可以在www.eclipse.org上面下载c++版本专属的。
坑点1
但是下载之后,启动eclipse失败,错误是Failed to load the JNI shared library
jvm.dll”,这个错误的大多数说法是和JDK的位数有关,比如32位,64位的兼容性有关,当前的环境是一个JDK6的环境,看来孩不够,我再下载个JDK7的试试。官网已经直接下载不了了,得通过mos下载。
配置好环境之后,收到的错误变样了,我感觉被这个错误玩弄了。
![怎么在eclipse中配置MySQL源码环境](https://1eqimg.oss-cn-shenzhen.aliyuncs.com/upload/20240325/1bu4qaq5pkg.png)
一个IDE升级那么新版本的JDK干什么,然后又这回来下载JDK8。官网下载的还是安装版的。我就默默的看着下面的这个霸气的硬广,直到安装成功。其实相对来说,我还是喜欢解压版的。
![怎么在eclipse中配置MySQL源码环境](https://1eqimg.oss-cn-shenzhen.aliyuncs.com/upload/20240325/r3wt0loaqna.jpg)
eclipse可以启动了,我创建了一个项目,我命名为mysql_5_6_35
![怎么在eclipse中配置MySQL源码环境](https://1eqimg.oss-cn-shenzhen.aliyuncs.com/upload/20240325/s3t4dexsmqs.jpg)
这个时候环境还是基本空白的,先创建好再说。
![怎么在eclipse中配置MySQL源码环境](https://1eqimg.oss-cn-shenzhen.aliyuncs.com/upload/20240325/zqaml4fr1q4.jpg)
简单确认之后,就创建好了一个项目,新版本的exlipse就开始生成了工作目录。启动的界面还是不错的。
![怎么在eclipse中配置MySQL源码环境](https://1eqimg.oss-cn-shenzhen.aliyuncs.com/upload/20240325/j5w2ismlfro.jpg)
编译环境调试
启动了eclipse,创建了项目,我们可以从指定的目录下导入源码包里的代码。当然不出所料,打开代码之后,发现后台开始报出了下面的错误。编译环境就有有问题。
![怎么在eclipse中配置MySQL源码环境](https://1eqimg.oss-cn-shenzhen.aliyuncs.com/upload/20240325/c3cj1v5t4tb.png)
这个时候如果能配置好还是很有意思的,可以在windows上来安装一下gcc,g++的环境,可以参考https://sourceforge.net/projects/mingw/这个网站,下载即可。
![怎么在eclipse中配置MySQL源码环境](https://1eqimg.oss-cn-shenzhen.aliyuncs.com/upload/20240325/a3xm4bsnjpl.png)
这个软件的风格蛮有意思,下载安装包的时候是下面的安装进度,需要安装哪些插件,也基本是这样的形式。
![怎么在eclipse中配置MySQL源码环境](https://1eqimg.oss-cn-shenzhen.aliyuncs.com/upload/20240325/hwia2y11za0.png)
我们不光要gcc的,还要g++,在安装好的软件基础上需要再下载新的包来安装。最后会提示安装成功。
![怎么在eclipse中配置MySQL源码环境](https://1eqimg.oss-cn-shenzhen.aliyuncs.com/upload/20240325/ae52ipxjlm0.jpg)
在eclipse里面还是需要做一些基本的配置的。根据红色的框图找到对应的菜单,修改右下角的路径,这个路径就是我们刚刚安装的软件所在的目录。
![怎么在eclipse中配置MySQL源码环境](https://1eqimg.oss-cn-shenzhen.aliyuncs.com/upload/20240325/denodvnakyk.jpg)
比如我安装在了D盘,就配置成下面红框的路径。
![怎么在eclipse中配置MySQL源码环境](https://1eqimg.oss-cn-shenzhen.aliyuncs.com/upload/20240325/brz10k2zbjr.png)
这个时候还有一个问题,提示make没有配置,这个问题可让我有些摸不着头脑。gcc都装了,make检查了也是安装成功的,为什么提示配置里没有呢。这里有一个梗。我们需要把下面的文件改个名字,其实它就是make
![怎么在eclipse中配置MySQL源码环境](https://1eqimg.oss-cn-shenzhen.aliyuncs.com/upload/20240325/o4w5it2efmg.jpg)
配置好环境,编译就大体没有问题了。
![怎么在eclipse中配置MySQL源码环境](https://1eqimg.oss-cn-shenzhen.aliyuncs.com/upload/20240325/jwrth4wktvv.png)
配置代码调试方式
其实上面的环境配置也算是一个辅助,如果我们只是看看代码,其实也能接受,不过下面的这个功能用不了,查看代码就会困难重重。比如我鼠标点击到代码里的某一个方法,根据调用关系我能够很快定位到另一个文件的调用函数,如此一来查看逻辑就会清楚许多。
但是这个功能在eclipse竟然用不了,熟悉Java开发的同学应该都熟悉这个outline的功能,一个文件里面有哪些函数,哪些变量都可以一目了然,所以这种情况得改进,发现无法启用的原因是我打开的其中一个文件的代码行数超过了5000行。默认eclipse的配置,超过5000行就启用不了outline了,我们改一下红框的配置即可。
![怎么在eclipse中配置MySQL源码环境](https://1eqimg.oss-cn-shenzhen.aliyuncs.com/upload/20240325/uxzpbzlsmev.jpg)
配置好之后,重启eclipse就没问题了,可以看到右边的outline信息,求会清晰很多,点击代码也会有这种定位功能,这下看代码就方便多了。比如我们查看InnoDB的代码,到storage/Innobase/handler/ha_innodb.cc这个文件,这会是我学习innodb的一个关键接口文件。
![怎么在eclipse中配置MySQL源码环境](https://1eqimg.oss-cn-shenzhen.aliyuncs.com/upload/20240325/riz3h43m5be.jpg)
“怎么在eclipse中配置MySQL源码环境”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注捷杰建站网站,小编将为大家输出更多高质量的实用文章!