在eclipse中配置MySQL源码环境(r12笔记第14天)

今天费了些周折,总算搭建好了MySQL源码的调试环境,主要的目的就是想在看代码的时候有一些头绪,让这些开发技巧派上用场。不至于盲人摸象一般的拿着命令肉眼扫视,当然对于代码至于能不能啃下来,那是另外一回事了。

我来说说我的情况,Java开发还有一点基础,所以以前的eclipse还算用得比较熟悉。大家知道InnoDB的源码是c,MySQL
Server的是c++,这样一套环境想调试好,如果没有这方面的平台开发经验其实还是有一点难度的。最后我还是决定使用eclipse来做,基于Windows平台。

里面趟了好几个坑,让我苦不堪言。

先要做几件事情

1)下载MySQL源码

2)下载开发IDE eclipse

3) 编译环境调试

4) 配置代码调试方式

下载MySQL源码

MySQL源码的下载,直接到www.mysql.com上面,选择社区版,下载类型是source code,就可以看到下面的选项了。

比如说我选择的是这个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下载。

配置好环境之后,收到的错误变样了,我感觉被这个错误玩弄了。

一个IDE升级那么新版本的JDK干什么,然后又这回来下载JDK8。官网下载的还是安装版的。我就默默的看着下面的这个霸气的硬广,直到安装成功。其实相对来说,我还是喜欢解压版的。

eclipse可以启动了,我创建了一个项目,我命名为mysql_5_6_35

这个时候环境还是基本空白的,先创建好再说。

简单确认之后,就创建好了一个项目,新版本的exlipse就开始生成了工作目录。启动的界面还是不错的。

编译环境调试

启动了eclipse,创建了项目,我们可以从指定的目录下导入源码包里的代码。当然不出所料,打开代码之后,发现后台开始报出了下面的错误。编译环境就有有问题。

这个时候如果能配置好还是很有意思的,可以在windows上来安装一下gcc,g++的环境,可以参考https://sourceforge.net/projects/mingw/这个网站,下载即可。

这个软件的风格蛮有意思,下载安装包的时候是下面的安装进度,需要安装哪些插件,也基本是这样的形式。

我们不光要gcc的,还要g++,在安装好的软件基础上需要再下载新的包来安装。最后会提示安装成功。

在eclipse里面还是需要做一些基本的配置的。根据红色的框图找到对应的菜单,修改右下角的路径,这个路径就是我们刚刚安装的软件所在的目录。

比如我安装在了D盘,就配置成下面红框的路径。

这个时候还有一个问题,提示make没有配置,这个问题可让我有些摸不着头脑。gcc都装了,make检查了也是安装成功的,为什么提示配置里没有呢。这里有一个梗。我们需要把下面的文件改个名字,其实它就是make

配置好环境,编译就大体没有问题了。

配置代码调试方式

其实上面的环境配置也算是一个辅助,如果我们只是看看代码,其实也能接受,不过下面的这个功能用不了,查看代码就会困难重重。比如我鼠标点击到代码里的某一个方法,根据调用关系我能够很快定位到另一个文件的调用函数,如此一来查看逻辑就会清楚许多。

但是这个功能在eclipse竟然用不了,熟悉Java开发的同学应该都熟悉这个outline的功能,一个文件里面有哪些函数,哪些变量都可以一目了然,所以这种情况得改进,发现无法启用的原因是我打开的其中一个文件的代码行数超过了5000行。默认eclipse的配置,超过5000行就启用不了outline了,我们改一下红框的配置即可。

配置好之后,重启eclipse就没问题了,可以看到右边的outline信息,求会清晰很多,点击代码也会有这种定位功能,这下看代码就方便多了。比如我们查看InnoDB的代码,到storage/Innobase/handler/ha_innodb.cc这个文件,这会是我学习innodb的一个关键接口文件。

环境配置好了,剩下的事情才是重点的内容。

时间: 2024-09-16 21:52:48

在eclipse中配置MySQL源码环境(r12笔记第14天)的相关文章

Linux CentOS6.6系统中安装mysql源码包的方法_Linux

这里以CentOS6.6系统中安装MySQL的源码包,进行讲解. 1. mysql源码包的下载 mysql安装包的官方下载地址为:http://dev.mysql.com/downloads/mysql/5.6.html 打开该下载地址后,在 "Select Version:"处,选择要下载的mysql的版本,我选择的是5.6.34:在"Select Platform:"处,选择适用的操作系统类型,由于是下载源码包,故这里我们要选择Source Code. 之后,会

eclipse gef 源代码-Eclipse中显示GEF源码

问题描述 Eclipse中显示GEF源码 请问大神,怎么样才能在Eclipse中查看到GEF的源码,现在为这个问题相当纠结呀.

如何在eclipse中导入lucene源码

问题描述 最近想学习lucene的源代码,可是在将源代码到入eclipse中时总是出现错误.求教,有没同学分享在eclipse中导入lucene源码的经验?谢了! 解决方案 最近项目中需要全文检索的功能,打算用Solr来实现,可是有些特殊的功能Solr还不能完全满足,所以需要对Solr的代码进行一些修改. 从lucene.apache.org把代码下载下来,发现很难导入eclipse,从社区中看好多人也在问这个问题.下边把我的解决方法记录下来. 1.启动eclipse,使用svn插件从https

android 编程时,如何在Eclipse中查看Android源码或者第三方组件包源码

相信大多数人都知道怎么在eclipse中看android源码,但是在eclipse中看第三方源码的方法呢,我查看到这篇博文之前我不知道,可能是我才疏学浅,可能很多大牛都知道了,我在这里还是转过来,希望能给不会的人一些帮助. 转自:http://blog.csdn.net/cjjky/article/details/6535426 在学习过程中如果经常阅读源码,理解程度会比较深,学习效率也会比较高,那么如何方便快捷的阅读Android源码? 如何查看Android源码[以Android2.2为例]

Kafka源码环境搭建

本文主要讲述的是如何搭建Kafka的源码环境,主要针对的Windows操作系统下IntelliJ IDEA编译器,其余操作系统或者IDE可以类推. 1.安装和配置JDK 确认JDK版本至少为1.7,最好是1.8及以上.使用java -version命令来查看当前JDK的版本,示例如下: C:\Users\hidden> java -version java version "1.8.0_112" Java(TM) SE Runtime Environment (build 1.8

spark+eclipse-eclipse中部署spark源码时候 编译antClass not found: javac1.8

问题描述 eclipse中部署spark源码时候 编译antClass not found: javac1.8 解决方案 看这儿你的是java的版本 解决方案二: 我装的是jdk1.8啊 eclipse内置ant版本也是1.8 怎么还会有问题. 解决方案三: 要在spark配置文件中加入jdk版本,原来的文件中好像只有1.6和1.7的配置信息,没有1.8的自己加入就能用ant编译过去了

《Spark大数据分析实战》——2.4节配置Spark源码阅读环境

2.4 配置Spark源码阅读环境 由于Spark使用SBT作为项目管理构建工具,SBT的配置文件中配置了依赖的jar包网络路径,在编译或者生成指定类型项目时需要从网络下载jar包.需要用户预先安装git.在Linux操作系统或者Windows操作系统上(用户可以下载Git Shell,在Git Shell中进行命令行操作)通过"sbt/sbt gen-idea"命令,生成Intellij项目文件,然后在Intellij IDE中直接通过"Open Project"

eclipse中阅读开源源码包时,如何对源码包添加书签?

问题描述 eclipse中阅读开源源码包时,如何对源码包添加书签? eclipse中阅读源码包时,如何对源码包添加书签?或者有其他更好的阅读开源源码包的方法? 解决方案 添加书签是个什么意思?没明白...可以写注释作为标记.

ZooKeeper源码研究系列(1)源码环境搭建

1 系列目录 ZooKeeper源码研究系列(1)源码环境搭建 ZooKeeper源码研究系列(2)客户端创建连接过程分析 ZooKeeper源码研究系列(3)单机版服务器介绍 ZooKeeper源码研究系列(4)集群版服务器介绍 2 搭建步骤 2.1 到github中fork该项目 项目地址 https://github.com/apache/zookeeper.fork完成之后就存至自己的仓库中了. 2.2 clone上述自己的仓库地址到本地 先看下大体的代码格式: 2.3 使用ant对源码