• 下载openjdk源码
    由于 openjdk 官方的源码不是用 git 管理的,源代码存放在 http://hg.openjdk.java.net/,首先需要安装版本管理工具mercurial。而且下载代码太慢,github上有openjdk的源码镜像:https://github.com/openjdk/jdk,本次从github上下载源码1.
  • 编译
bash ./configure --with-target-bits=64 --with-boot-jdk=/usr/java/jdk1.7.0_80/ --with-debug-level=slowdebug --enable-debug-symbols ZIP_DEBUGINFO_FILES=0
make all ZIP_DEBUGINFO_FILES=0
  • 将jvm源码导入clion
    构建成功后会在build目录下生成构建好的jdk,执行java -verison 可以发现是debug版本:
openjdk version "1.8.0-internal-debug"
OpenJDK Runtime Environment (build 1.8.0-internal-debug-root_2019_07_08_14_19-b00)
OpenJDK 64-Bit Server VM (build 25.0-b62-debug, mixed mode)

将hotspot源码导入clion,创建debug任务:

其中执行文件选择构建出来的java,参数执行构建出来的class

问了便于修改hotspot源码后,自动构建

后面就可以 打断点 执行debug