vs2010调试mysql_Win7+VS2010:mysql源码编译与调试_MySQL

win7

win7+vs2010 源码编译 mysql

最近由于在实习,工作重点在于一些数据库的开发,为了更好的理解数据库的实现机制,目前萌生了要研究一下 mysql 数据库源码的想法。那么好吧,说干就干,首先我们需要实现对源码的编译,这里我们选择 win7+VS2010 来实现,但是试了很多次都失败了。这是我多次配置环境时遇到的问题,各种博客文章总是不太完全,或者说没有说明一些遇到的问题的解决方案,这可能跟具体的操作系统和环境有关。本文就说说我安装的情况。

1. 准备工作

( 1 ) OS : win7 旗舰版 64 位 + VS2010 ( 2013 也试过了)

( 2 ) mysql 源码( windows 版):mysql-5.6.19.zip (下来框选择 source code )

( 3 ) perl tool : ActivePerl-5.16.3.1604-MSWin32-x64-298023.msi

( 4 ) Cmake : cmake-3.0.0-win32-x86 .exe

( 5 ) Bison : bison-2.4.1-setup.exe

安装需要注意的几点,一般安装在根目录下,如 C:/Cmake C:/GnuWin32 C:/Perl64 ,当然也可以是其他目录, 一般路径不要出现中文字符,空的及特殊字符 (这个貌似很重要)。具体安装见下面博客: Windows+VS2012环境下编译调试MySQL源码

除了 Bison 安装需要注意意外,其他几乎都是默认安装,这些细节最好遵守,以免后续出错。

Perl, Cmake, Bison 安装完事之后 , 将他们安装目录下的 bin 所在路径加入环境变量中( windows 环境变量添加 ),如C:/Cmake/bin. 好了至此基本 ok.

保险起见我们需要验证一下安装是否成功:

%MO)XGFEDC9QEWSJ48JV(E5.jpg

%MO)XGFEDC9QEWSJ48JV(E5.jpg

1405K446345310-2550M.jpg

2. 开始安装

在任意你喜欢的盘里面创建一个用于安装的目录:如在 D 盘创建 mysql 然后将 mysql-5.6.19.zip 解压到该目录下,然后在 cmd 中切换到安装目录,此处即为 D:/mysql/mysql-5.6.19 ,记( {install}= D:/mysql/mysql-5.6.19 ) , 其下包含如下文件目录:

1405K4463N120-2A523.jpg

然后在{install}下执行以下命令:>mkdir bld

>cd bld

>cmake ..

这样你可看到类似如下的输出:

1405K446406250-2J254.jpg

有一些错误,目前也没有解决,但其实这并不影响我们生成 VS 下 MySQL.sln 工程文件。事实上只要看到下面这个就可以了,各种 not found也不要紧:

1405K44644DP-2S508.jpg

如果采用 Cmake

图形界面,其实也差不多了。这里不再赘述。

下一步我们就可以在 VS2010 中 build solution 了(对应生成解决方案),但为了尽可能减少警告或错误,我们首先需要对下述文件进行修改:

1405K4464L560-294J3.jpg

修改的方法很简单,就是将这些文件以 UTF-8 (带 BOM 头的)格式保存。一般使用 Nodepad++ 工具等 。

最后一步就是找到 {install}/mysql-5.6.19/sql/ mysqld.cc中的 test_lc_time_sz() 函数,将其中的 DBUG_ASSERT(0) 改为 DBUG_ASSERT(1) 即可。

至此我们就完成了将源码转换成 VS 中工程文件的目的。之后我们就可以 build solution 了。如果没有错误说明就已经没有问题了,一些小的警告可能是因为 C++ 编译器比 C 编译器严格的缘故。下一步我们开始调试。

3. 调试

然后将 mysqld 工程的 Debug 的 : 属性 -> 调试 -> 命令参数,设为 --console ,如下:

1405K44A20310-30EW.jpg

然后启动实例,

1405K44A56250-316059.jpg

这样就可以看到下面的命令行界面:

1405K44AZ620-324O6.jpg

cmd 下进入到目录 {install}/client ,然后执行如下命令,就可以开始连接到刚刚开启的 mysql 服务了。 这说明 mysql 服务已经启动,下一步就是启动 mysql 客服端,这里我是采用命令行的启动方式。

1405K44B3Z60-335351.jpg 好了至此,我们基本完成了在 win7 下实现在 vs 下编译调试 mysql 数据库的目的,下面就可以开始研究源码了。

为了更好地为后来者指明方向,也为了今后便于自己查询,只做了这个简单的指南。也希望按照这篇文档安装的朋友遇到任何问题可以一起探讨,然后不断完善该文档,以便后来者能够因此而受用,同时营造一个负责人写稿的氛围。

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值