2008-09-12 14:44:54 来源:IT专家网
在最新的版本中,windows环境与linux环境下使用一套代码。比如mysql-6.0.4-alpha版本中的INSTALL-WIN-SOURCE文件的描述:
To build MySQL on Windows from source, you must satisfy the
following system, compiler, and resource requirements:
* Windows 2000, Windows XP, or newer version. Windows Vista is
not supported until Microsoft certifies Visual Studio 2005 on
Vista.
* CMake, which can be downloaded from http://www.cmake.org.
After installing, modify your path to include the cmake
binary.
* Microsoft Visual C++ 2005 Express Edition, Visual Studio .Net
2003 (7.1), or Visual Studio 2005 (8.0) compiler system.
* If you are using Visual C++ 2005 Express Edition, you must
also install an appropriate Platform SDK. More information and
links to downloads for various Windows platforms is available
from http://msdn.microsoft.com/platformsdk/.
* If you are compiling from a BitKeeper tree or making changes
to the parser, you need bison for Windows, which can be
downloaded from
http://gnuwin32.sourceforge.net/packages/bison.htm.Download
the package labeled "Complete package, excluding sources".
After installing the package, modify your path to include the
bison binary and ensure that this binary is accessible from
Visual Studio.
* Cygwin might be necessary if you want to run the test script
or package the compiled binaries and support files into a Zip
archive. (Cygwin is needed only to test or package the
distribution, not to build it.) Cygwin is available from
http://cygwin.com.
* 3GB to 5GB of disk space.
通过这样的方法,生成项目文件,从而可以通过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目录。
免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。