win7环境下使用vs2010调试hotspot源码

一、使用VS2010生成HotSpot VM项目

1、将Cygwin64的bin路径加入环境变量Path中,在我这里即C:\Cygwin64\bin

2、进入E:\jvm\jdk8u-dev\hotspot\make\windows,编辑create.bat,line 142:改成自己的cygwin安装目录win7环境下使用vs2010调试hotspot源码_第1张图片

 3、在cmd窗口执行如下指令

cd E:\jvm\jdk8u-dev\hotspot\make\windows
e:

把Visual Studio 2010目录下VC\bin\amd64\vcvars64.bat拖入CMD窗口,必须是64位的VC环境。

然后执行set HOTSPOTMKSHOME=C:\cygwin64\bin 设置好HOTSPOTMKSHOME环境变量。

win7环境下使用vs2010调试hotspot源码_第2张图片

接着输入:

create.bat E:\jvm\jdk8u-dev\build\windows-x86_64-normal-server-slowdebug\images\j2sdk-image

执行结果如下:

win7环境下使用vs2010调试hotspot源码_第3张图片

 执行完毕后即会在E:\jvm\jdk8u-dev\hotspot\build\vs-amd64目录生成jvm.vcxproj工程文件。用VS2010打开该工程文件即可。使用F7快捷键即可重新生成jvm.dll。

win7环境下使用vs2010调试hotspot源码_第4张图片

 上面注意了,如果用32位的vcvars32.bat,生成的会是vs-i486,现在多数用户的操作系统都是64位,请不要选错了。

win7环境下使用vs2010调试hotspot源码_第5张图片

32位的打开下面这个,如果有的话

win7环境下使用vs2010调试hotspot源码_第6张图片

 二、调试java代码

1、用vs2010打开jvm.vcxproj,f7生成解决方案

2、修改工程属性中的启动参数,传入要加载的类名,如下图

命令参数:TestHello,表示带有main函数的java类,

工作目录:E:\myworkspace\test\bin表示java类的编译后class文件目录

 

win7环境下使用vs2010调试hotspot源码_第7张图片

带有报名的可以如下写法,都可以

win7环境下使用vs2010调试hotspot源码_第8张图片

win7环境下使用vs2010调试hotspot源码_第9张图片

或者-XXaltjvm=$(TargetDir) -Dsun.java.launcher=gamma test/HelloWorld 

win7环境下使用vs2010调试hotspot源码_第10张图片

 debug效果如下图

win7环境下使用vs2010调试hotspot源码_第11张图片

 输出结果

 win7环境下使用vs2010调试hotspot源码_第12张图片

你可能感兴趣的:(java知识体系)