在最新的版本中,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方式調試代碼了。
圖1:配置命令參數
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目錄。