说起来,布署调试系统之前试过两次,到后来都因为没坚持下来而半途作费。这次终于成功了。
(1) 为了少走弯路,建议下载5.1.x版本。
网上关于在win32系统布署调试环境的贴子本来就少,官网的资料也都是英文,对于不习惯看英文的人可算是折磨。并且,就那么少的贴子说的内容说的还是5.1.x版本的办法(我事后才知道),对于习惯下载最新版人的人来说,算是一头雾水,因为刚开始要用win目录下的configure.js文件,而5.5.x版本并没有这个文件。还以为自己下错版本了。所以,建议第一次想研读源码的人最好下载5.1.x版本的源码。我这里给个地址。
http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.60.tar.gz/from/http://mysql.cs.pu.edu.tw/.版本是5.1.6。完全可以当成首选源码来研读。我下面所说的也是针对这个版本而来的。
(2) 事先需要安装的软件
1.cmake 下载地址:http://www.cmake.org/files/v2.8/cmake-2.8.6-win32-x86.exe
2.bison 下载地址:http://buct-compiler.googlecode.com/files/bison-2.4.1-setup.exe
3.注意事项:软件安装路径不要带空格,将cmake,bison安装路径添加到环境变量中去。
(3)修改源代码
1.将源代码解压到指定目录。
2.修改两处源代码,1处:sql/sql_locale.cc文件原先是用"UTF8无BOM格式",另存"UTF8格式". 2 处:sql/mysqld.cc中4352行代码"DBUG_ASSERT(0);",将其改成"DBUG_ASSERT(1);"
(4) 在cmd命令行执行命令
1.执行:win\configure.js WITH_INNOBASE_STORAGE_ENGINE MYSQL_SERVER_SUFFIX=-pro.不出意外的话,会弹出一个对话框。
2.如果是VS2005,执行win\build-vs8.bat;如果是VS2008,执行win\build-vs9.bat
(5) 建立data文件夹,开启MYSQL服务
在sql/目录下,建立data文件夹
进入sql/debug目录,有一个mysqld.exe文件,执行:mysqld.exe --debug --standalone 开启服务。如果遇到错误,可以查看err文件,文件在sql/data/目录下。一般需要将win/data/mysql目录拷贝到sql/data/目录下。
(6)点击解压根目录下的mysql.sln文件,生成解决方案
在解压根目录下,有个mysql.sln文件。双击,会看到熟悉的画面。这个时候再生成解决方案,看有没有错误。
(7) 使用VS2008 调试
调试--> 附加到进程,选择之前开启的mysqld.exe服务。设置好断点,新建立一个连接,开始调试。
到这一步,布署调试环境已经就绪。从现在开始就可以开始研读源码了。