OpenSSL整个项目很庞大,为了能更好的了解其实现,最好的方法就是能够单步调试。
查询了一些资料,在此留言,备忘。
1.环境:
下载最新版本的OpenSSL:http://www.openssl.org/
下载最新版本的Perl:http://downloads.activestate.com/ActivePerl
VC环境变量设置,执行下面批处理
view plaincopy to clipboardprint?
"c:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT"
"c:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT"
2.非DEBUG版本编译。
进入openssl源码目录。 cd c:\openssl-src
运行configure:
view plaincopy to clipboardprint?
perl Configure VC-WIN32 --prefix="c:\\openssl"
perl Configure VC-WIN32 --prefix="c:\\openssl"
创建Makefile文件:
ms\do_ms
编译动态库:
nmake -f ms\ntdll.mak
编译静态库:
nmake -f ms\nt.mak
测试动态库:
nmake -f ms\ntdll.mak test
测试静态库:
nmake -f ms\nt.mak test
安装动态库:
nmake -f ms\ntdll.mak install
安装静态库:
nmake -f ms\nt.mak install
清除上次动态库的编译,以便重新编译:
nmake -f ms\ntdll.mak clean
清除上次静态库的编译,以便重新编译:
nmake -f ms\nt.mak clean
3.DEBUG版本的编译
先修改ms\do_ms.bat 第2-3行
view plaincopy to clipboardprint?
perl util\mk1mf.pl no-asm debug VC-WIN32 >ms\nt.mak
perl util\mk1mf.pl dll no-asm debug VC-WIN32 >ms\ntdll.mak
perl util\mk1mf.pl no-asm debug VC-WIN32 >ms\nt.mak
perl util\mk1mf.pl dll no-asm debug VC-WIN32 >ms\ntdll.mak
再修改ms\ntdll.mak ms\nt.mak,在其CFLAG(第19行)中加入 /Zi参数,否则无法step into openssl源代码中。
然后
nmake -f ms\ntdll.mak
....
如上操作就可以单步进入源码了。
参考两篇网文,就记住了命令,不记得出处了,在此表示感谢!
与CSDN blog同步