最近闲来无事,萌发研究jdk的念头,恰巧jdk11刚刚发布,所以就拿openjdk11试刀了。本人口才有限,写的不好,敬请谅解。废话不多说,这就开始。
系统要求:
1)windows10 x64
2)cygwin2.8
3)vs2017 professional
4)jdk10 (做为boot jdk)
安装注意事项:
1)vs2017切勿安装中文语言包,英文即可,否则在编译配置时无法识别到c++编译器
2)cygwin需要安装一些编译时需要的包,用此命令安装
setup-x86_64 -q -P autoconf -P make -P unzip -P zip
编译过程:
1)开启CMD,输入set path=%path%;c:\cygwin64\bin。把Visual Studio 2017目录下Microsoft Visual Studio 14.0\VC\bin\amd64拖入CMD窗口,必须是64位元的VC环境。
2)输入bash,进入cygwin。 cd /cygdrive/d/openjdk export PATH=/usr/bin:$PATH
3)下载源码:hg clone http://hg.openjdk.java.net/jdk-updates/jdk11u/ 如若找不到hg命令,请自行安装
4)进入源码根目录
chmod 0755 ./configure
./configure --with-target-bits=64 --with-boot-jdk=/cygdrive/c/Program\ Files/Java/jdk-10.0.1 --with-toolchain-version=2017 --enable-debug --with-jvm-variants=server --disable-warnings-as-errors 详细的编译参数,请查看jdk11u/doc/building.html
make images 等待编译完成
调试:
1)用vs2017打开源码目录 对着根目录右击 ,选择Debug and Launch settings,选择default.
配置参数如下(为方便拷贝,未进行截图):
{
"version": "0.2.1",
"defaults": {},
"configurations": [
{
"type": "default",
"name": "java Test",
"project": "build/windows-x86_64-normal-server-slowdebug/jdk/bin/java.exe",
"args": [
"Test",
"-XX:+UnlockDiagnosticVMOptions",
"-XX:+PrintAssembly"
]
}
]
}
Test为进行调试的类,请大家自行准备。
找到入口文件,打上断点,便可进行调试了。
网友评论