前言
之前使用的openjdk11调试JVM源码和Java源码是分开的,而且各自都有不足之处
- openjdk在Clion引入头文件飘红
- Java源码换行注释导致class和src对应不上
因此重新使用openjdk15解决上述问题
- 大于openjdk11u的源码中都含有CompileCommands.gmk
- Java源码换行注释后重新build一下就行
一 源码
二 系统工具
- macOS Big Sur 11.5.2
- Xcode 12.5.1
- openjdk 15.0.2
- Make 3.81
- autoconf (GNU Autoconf) 2.71
- Apple clang version 12.0.5 (clang-1205.0.22.11)
- ccache version 4.6
- freetype-confi 2.12.0
三 编译
1 配置
bash ./configure \
--with-debug-level=slowdebug \
--with-jvm-variants=server \
--with-freetype=bundled \
--with-boot-jdk=/Library/Java/JavaVirtualMachines/adoptopenjdk-15.jdk/Contents/Home \
--with-target-bits=64 \
--disable-warnings-as-errors \
--enable-dtrace
2 编译
make CONF=macosx-x86_64-server-slowdebug compile-commands
make CONF=macosx-x86_64-server-slowdebug
3 编译成功
cd build/macosx-x86_64-server-slowdebug/jdk/bin
./java -version
四 Clion调试
0 导入Clion
1 源码目录
2 配置
2.1 build
2.2 clean
2.3 构建目标
2.4 LLDB修复
vim ~/.lldbinit
br set -n main -o true -G true -C "pro hand -p true -s false SIGSEGV SIGBUS"