热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在Windows下编译或调试MySQL

为什么需要在Windows下编译MySQL?在Linux下编译MySQL是非常方便的操作,而且是轻车熟路,很容易搞定的。随着对MySQL的使用时间的增长,也慢慢的对MySQL代码的


为什么需要在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的属性页设置命令参数?ommand Arguments)为:-console。这样就可以用debug方式调试代码了。


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



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


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


vcbuild mysql.sln “Release”


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


觉得文章有用?立即:和朋友一起 共学习 共进步!


建议继续学习:



  1. 配置Nginx+uwsgi更方便地部署python应用    (阅读:104622)

  2. 网络数据包调试利器之wireshark    (阅读:17661)

  3. Linux 下 PHP 5.2.x 连接 SQL Server 数据库 FreeTDS 配置笔记    (阅读:9655)

  4. nginx的配置文件    (阅读:8150)

  5. Emacs安装配置    (阅读:6869)

  6. 内存越界的概念和调试方法    (阅读:5806)

  7. 从C语言的Hello World说起    (阅读:5686)

  8. 关于PHP的编译和执行分离    (阅读:5263)

  9. 如何查看Linux 硬件配置信息    (阅读:5202)

  10. Centos yum 安装nginx+PHP-FPM+eAccelerator+mysql    (阅读:5118)


QQ技术交流群:445447336,欢迎加入!


扫一扫订阅我的微信号:IT技术博客大学习




推荐阅读
author-avatar
林姗飘零1999
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有