如何在Windows下编译或调试MySQL

作者:吴炳锡 来源:http://www.mysqlsupport.cn/ 联系方式:select unhex(‘777562696E67786940676D61696C2E636F6D’); 载请注明作/译者和出处,并且不能用于商业用途,违者必究。  

为什么需要在Windows下编译MySQL

    在Linux下编译MySQL是非常方便的操作,而且是轻车熟路,很容易搞定的。随着对MySQL的使用时间的增长,也慢慢的对MySQL代码的分析有点感兴趣了。所以想着找一个工具去学习一下MySQL的代码,对于Linux用户可以使用vim+ctags去分析,

但做为大多数用户来说工作的平台还都是windows平台。所以就需要在windows上去调试MySQL了。

对于下载的MySQL在Windows平台上无法直接编译的,工程文件没了,这里关建问题就是怎么创建一个工程文件。下面我装分几步去讲解,怎么去创建工程文件,怎么调试,怎么编译。

 

准备工作:

  安装一个编译器,推荐Microsoft visual studio 2008吧

  另外需要装:

         GNU Bison for Windows :http://gnuwin32.sourceforge.net/packages/bison.htm

         CMake 2.6.0 or later  :  http://www.cmake.org

开始编译:

这里以mysql-5.1.38的源码编译为例:

mysql-5.1.38的代码下载可以到mysql官方网站下载,具体怎么下载不在说明。

 

 打开一个cmd窗口:

 输入:

 cscript //H:CScript

 然后:

 cd /path/mysql-5.1.38

 win\configure WITH_INNOBASE_STORAGE_ENGINE __NT__

 win\build-vs9.bat

 

        到此我们将会创建一个mysql.sln 的工程文件,如果对想学习代码的朋友,到此即可以,然后可以用Microsoft visual studio 2008打开这个文件就可以查看相应的代码了。

 

 如果需要调试或单步执行调试:

         这里以mysqld项目为例:

   打开项目 mysqld 的属性 点击 debugging

在mysqld的属性页设置命令参数(Command Arguments)为:–console。这样就可以用debug方式调试代码了。

  

         同样对于其它项目的调试,也是这样处理,属性,添加命令行参数:–console。

 build-mysql-vs

         对于想跟踪的项目可以执行build,然后可以在mysql-5.1.38/client/Debug下生成相应的执行文件。

 

如果真的想编译一个Windows的MySQL,上面那个打开步骤可以不做。接着上面完成的bat后,直接进行:

vcbuild mysql.sln “Release”

进行编译。然后拷mysqld.exe及相应的文件到相应的目录就OK了。具体怎么安装,这里也不在说明了。本文档的核心目的就是教会大家怎么创建工程文件,然后怎么去调试。

One Comment