下載源碼,安裝 Cygwin、JDK 和 VS2010:https://www.cnblogs.com/jhxxb/p/12558970.html
創建 VS 工程
# 打開 CMD cd jdk8u\hotspot\make\windows C:\VS2010\VC\bin\amd64\vcvars64.bat set HOTSPOTMKSHOME=D:\OpenJDK\cygwin64\bin # path 放在 cygwin 前面,讓 VS2010 的 link.exe 優先級高於 cygwin 的 set path=%path%;D:\OpenJDK\cygwin64\bin create.bat D:\OpenJDK\jdk1.7.0_80
用 VS2010 打開
調試
直接 F7 看看能否成功編譯 jvm.dll,jvm.exp 為調試符號文件
打開項目屬性,設置 java 啟動參數
打開 share\vm\runtime\thread.cpp 文件, 在 create_vm 方法中打個斷點,F5 啟動調試。
Hot-Spot 虛擬機啟動器的執行入口是 java.c 的 JavaMain() 方法
其他 Visual Studio 版本調試
修改文件 hotspot\make\windows\get_msc_ver.sh,直接指定 MSC_VER 和 MSC_VER_RAW 和 VS 版本號