用VS2015 Debug MySQL5.7源码

来源:互联网 发布:yum安装lnmp环境 编辑:程序博客网 时间:2024/06/11 16:34

一、软件准备:
Cmake : https://cmake.org/download/

ActivePerl: 百度ActivePerl 安装即可

boost库: https://sourceforge.net/projects/boost/files/boost-binaries/1.59.0/ 下载exe文件安装到指定目录

MySQL 源码: https://dev.mysql.com/downloads/mysql/

二、生成VS2015 MySQL工程

运行cmake-gui,选择需要编译的源码,和目的目录。
Where is the source code : 选择解压后的源码
Where to build to the binaryies : 选择目的目录,这里我们选择同目录下的debug目录。
这里写图片描述

接下来需要配置boost库,点击Add Entry添加boost库配置项。
Name: WITH_BOOST
Value: 选择第一步中boost库的安装目录

这里写图片描述

接下来我们点击Configure, 选择目标VS版本, 点击Finish后,等待运行结束,需要一定时间。
这里写图片描述

过程中会遇到以下的Warning,可以忽略。不影响最终debug。
CMake Deprecation Warning at scripts/CMakeLists.txt:316
这里写图片描述

最后一部,点击Generate生成VS2015工程, 我们用VS2015打开MySQL.sln工程就可以了。

这里写图片描述

VS2015调试MySQL 有几个细节要注意。
mysql.cc 文件中函数test_lc_time_sz 最后的DBUG_ASSERT(0); 需要改成DBUG_ASSERT(1);

调试MySQL之前需要先初始化MySQL数据库,否则会报mysql.user表不存在。

最简单的初始化方法:
VS调试开始调试前,用VS运行一下mysqld初始化一个默认的数据库实例。一定是debug mysqld子工程设置为启动工程。
这里写图片描述

原创粉丝点击