在最新的版本中,windows环境与linux环境下使用一套代码。比如mysql-6.0.4-alpha版本中的INSTALL-WIN-SOURCE文件的描述:
TobuildMySQLonWindowsfromsource,youmustsatisfythe
followingsystem,compiler,andresourcerequirements:
*Windows2000,WindowsXP,ornewerversion.WindowsVistais
notsupporteduntilMicrosoftcertifiesVisualStudio2005on
Vista.
*CMake,whichcanbedownloadedfromhttp://www.cmake.org.
Afterinstalling,modifyyourpathtoincludethecmake
binary.
*MicrosoftVisualC++2005ExpressEdition,VisualStudio.Net
2003(7.1),orVisualStudio2005(8.0)compilersystem.
*IfyouareusingVisualC++2005ExpressEdition,youmust
alsoinstallanappropriatePlatformSDK.Moreinformationand
linkstodownloadsforvariousWindowsplatformsisavailable
fromhttp://msdn.microsoft.com/platformsdk/.
*IfyouarecompilingfromaBitKeepertreeormakingchanges
totheparser,youneedbisonforWindows,whichcanbe
downloadedfrom
http://gnuwin32.sourceforge.net/packages/bison.htm.Download
thepackagelabeled"Completepackage,excludingsources".
Afterinstallingthepackage,modifyyourpathtoincludethe
bisonbinaryandensurethatthisbinaryisaccessiblefrom
VisualStudio.
*Cygwinmightbenecessaryifyouwanttorunthetestscript
orpackagethecompiledbinariesandsupportfilesintoaZip
archive.(Cygwinisneededonlytotestorpackagethe
distribution,nottobuildit.)Cygwinisavailablefrom
http://cygwin.com.
*3GBto5GBofdiskspace.
通过这样的方法,生成项目文件,从而可以通过vs工具进行编译。在先前的版本中,windows下的代码和linux下的代码是两个压缩包,比如windows下的一个软件包名为,mysql-5.1.7-beta-win-src.zip。
这里我选择5.1.7作为分析的对象。
安装代码的步骤:
1.解压缩文件包mysql-5.1.7-beta-win-src.zip。
2.使用vs2003打开项目文件mysql.sln。
3.设置mysqld项目为启动项目
4.在mysqld的属性页设置命令参数为:--console。这样就可以用debug方式调试代码了。
5.设置断点,比如查询的总入口是handle_select函数。
6.编译mysql项目,将会在mysql-5.1.7-betaclient_debug目录下生成mysql.exe
7.使用“启动新实例”或者“进入单步执行新实例”进行调试。
图2:执行调试操作
8. mysql-5.1.7-betaclient_debug目录下生成mysql.exe,执行语句,将会执行到断点进行调试。
图3:进入调试状态
9.相应的数据文件,见mysql-5.1.7-betadata目录