一、使用VS2010生成HotSpot VM項目
1、將Cygwin64的bin路徑加入環境變量Path中,在我這裏即C:\Cygwin64\bin
2、進入C:\openjdk\hotspot\make\windows,編輯create.bat,line 142:改成自己的cygwin安裝目錄
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環境變量。
接着輸入:
create.bat E:\jvm\jdk8u-dev\build\windows-x86_64-normal-server-slowdebug\images\j2sdk-image
執行結果如下:
執行完畢後即會在E:\jvm\jdk8u-dev\hotspot\build\vs-amd64目錄生成jvm.vcxproj工程文件。用VS2010打開該工程文件即可。使用F7快捷鍵即可重新生成jvm.dll。
上面注意了,如果用32位的vcvars32.bat,生成的會是vs-i486,現在多數用戶的操作系統都是64位,請不要選錯了。
32位的打開下面這個,如果有的話
二、調試java代碼
1、用vs2010打開jvm.vcxproj,f7生成解決方案
2、修改工程屬性中的啓動參數,傳入要加載的類名,如下圖
命令參數:TestHello,表示帶有main函數的java類,
工作目錄:E:\myworkspace\test\bin表示java類的編譯後class文件目錄
帶有報名的可以如下寫法,都可以
或者-XXaltjvm=$(TargetDir) -Dsun.java.launcher=gamma test/HelloWorld
debug效果如下圖
輸出結果