利用Eclipse调试mysql-5.5.25a源码
昨天下载了mysql5.5.25a源码并按装在了自己的机器上。所以今天就打算试着调试调试。当然是很简单的调试了(这个得慢慢来,急不得,还有很多知识要补充).所以只是入门级的看看,窥视一下。
1. 首先在Eclipse安装开发C++的插件了。这个不是重点,可以到网上去找找,由于我以前开发过Andriod驱动以及HAL代码,所以已经装好了,所以这里不怎么好演示了。
2.当然是打开Eclipse。New->project->C/C++
[img]http://dl.iteye.com/upload/attachment/0071/2230/dd988d50-8ace-3cf4-86f6-0a90cc1031ea.png[/img]
[img]http://dl.iteye.com/upload/attachment/0071/2232/11e340f4-8445-37f0-92f4-04bfc7abb995.png[/img]
3. 现在源码就导入了(首先得先Cmake,生成makefile文件后才能导入,最好导入就在Cmake是的目录,不要移动,不然导入会出错,因为在源码目录会生成CmakeCache.txt,记录了源码路径,当然要以动也行就是要删除这个文件)。
4.导入后就是调试了。当然这个得设置main函数的参数值(调试测试的是客户端程序)。相信大家能理解执行mysql -uroot -p这些参数对main函数参数的改变(我有篇博文说过)。argc代表参数个数(包含执行程序名称).argv代表参数值(这里,argv[0]=mysql argv[1]=-uroot argv[2]=-p);还有个参数,程序一般不会用,env其代表环境变量。
5.然后就是要设置调试参数。在客户端程序中打开以个源码文件
右击-->debug as-->debug configuration
然后设置参数
[img]http://dl.iteye.com/upload/attachment/0071/2240/5e914a9b-7f63-3a59-9687-341cea9faf4d.png[/img]
然后就可以调试了点击那个虫子
[img]http://dl.iteye.com/upload/attachment/0071/2242/2ef538ae-7c2b-3782-945e-ede0036c4b3c.png[/img]
6.然后就是努力点击下一步(F6),由于我也还不知道它的实现,这是以后要探究的地方,所以我先只是看一下方法可行否,所以就有是下一步,根据的终端使用的方法,应该在Eclipse控制台弹出输入PASSWORD的提示,果然一段时间下一步后出现了
[img]http://dl.iteye.com/upload/attachment/0071/2247/d88e9801-cd6d-33d3-a759-feda795c52e2.png[/img]
输入密码后就可以使用数据库了。由于后面的还没看,也没在源码中下断点,所以就不说了,反正今天的目的达到了。在使用下去就跟终端使用一样。不详述。
PS:当然,这些前提,camke时那些参数应和你安装MySQL时一样,不然调试时又会安装一下,比较耗空间,在就是MySQL服务要开启。当然如果不写调试参数也是可以的,不过此时是以电脑登录用户进去的,不要密码,这是安装MySQL时自动生成的一个用户。那么此时药草做数据库就需要MySQL中的root 给予权限
进入终端操作MySQL数据库
[img]http://dl.iteye.com/upload/attachment/0071/2249/ed180814-eee5-37c8-9d3d-10390cf4f296.png[/img]
现在就可以不用夹参数来调试了,不过操作权利还是有限,还需要更多权限....
昨天下载了mysql5.5.25a源码并按装在了自己的机器上。所以今天就打算试着调试调试。当然是很简单的调试了(这个得慢慢来,急不得,还有很多知识要补充).所以只是入门级的看看,窥视一下。
1. 首先在Eclipse安装开发C++的插件了。这个不是重点,可以到网上去找找,由于我以前开发过Andriod驱动以及HAL代码,所以已经装好了,所以这里不怎么好演示了。
2.当然是打开Eclipse。New->project->C/C++
[img]http://dl.iteye.com/upload/attachment/0071/2230/dd988d50-8ace-3cf4-86f6-0a90cc1031ea.png[/img]
[img]http://dl.iteye.com/upload/attachment/0071/2232/11e340f4-8445-37f0-92f4-04bfc7abb995.png[/img]
3. 现在源码就导入了(首先得先Cmake,生成makefile文件后才能导入,最好导入就在Cmake是的目录,不要移动,不然导入会出错,因为在源码目录会生成CmakeCache.txt,记录了源码路径,当然要以动也行就是要删除这个文件)。
4.导入后就是调试了。当然这个得设置main函数的参数值(调试测试的是客户端程序)。相信大家能理解执行mysql -uroot -p这些参数对main函数参数的改变(我有篇博文说过)。argc代表参数个数(包含执行程序名称).argv代表参数值(这里,argv[0]=mysql argv[1]=-uroot argv[2]=-p);还有个参数,程序一般不会用,env其代表环境变量。
5.然后就是要设置调试参数。在客户端程序中打开以个源码文件
右击-->debug as-->debug configuration
然后设置参数
[img]http://dl.iteye.com/upload/attachment/0071/2240/5e914a9b-7f63-3a59-9687-341cea9faf4d.png[/img]
然后就可以调试了点击那个虫子
[img]http://dl.iteye.com/upload/attachment/0071/2242/2ef538ae-7c2b-3782-945e-ede0036c4b3c.png[/img]
6.然后就是努力点击下一步(F6),由于我也还不知道它的实现,这是以后要探究的地方,所以我先只是看一下方法可行否,所以就有是下一步,根据的终端使用的方法,应该在Eclipse控制台弹出输入PASSWORD的提示,果然一段时间下一步后出现了
[img]http://dl.iteye.com/upload/attachment/0071/2247/d88e9801-cd6d-33d3-a759-feda795c52e2.png[/img]
输入密码后就可以使用数据库了。由于后面的还没看,也没在源码中下断点,所以就不说了,反正今天的目的达到了。在使用下去就跟终端使用一样。不详述。
PS:当然,这些前提,camke时那些参数应和你安装MySQL时一样,不然调试时又会安装一下,比较耗空间,在就是MySQL服务要开启。当然如果不写调试参数也是可以的,不过此时是以电脑登录用户进去的,不要密码,这是安装MySQL时自动生成的一个用户。那么此时药草做数据库就需要MySQL中的root 给予权限
进入终端操作MySQL数据库
[img]http://dl.iteye.com/upload/attachment/0071/2249/ed180814-eee5-37c8-9d3d-10390cf4f296.png[/img]
现在就可以不用夹参数来调试了,不过操作权利还是有限,还需要更多权限....