网站设计计费,百度关键词优化费用,做推送封图的网站,天津网站建设求职简历编译OpenJDK12 目录编译OpenJDK12前言一、下载OpenJDK源码二、编译OpenJDK参考https://openjdk.org/groups/build/doc/building.html1#xff1a;安装编译所需的组件2#xff1a;执行编译命令3#xff1a;验证编译结果三、在Clion中调试OpenJDK源码1#xff1a;Clion中配置…编译OpenJDK12 目录编译OpenJDK12前言一、下载OpenJDK源码二、编译OpenJDK参考https://openjdk.org/groups/build/doc/building.html1安装编译所需的组件2执行编译命令3验证编译结果三、在Clion中调试OpenJDK源码1Clion中配置信息2运行Debug进行调试2去除调试sigsegv segmentation fault问题前言
学习《深入理解Java虚拟机JVM高级特性与最佳实践第三版》先编译一个OpenJDK12。 本人使用了WSL进行JDK编译然后在CLion中调试。下方是各工具版本信息。 文章有些内容不是特别详细尝试编译前请认真阅读书籍和相关资料。
一、下载OpenJDK源码
# 1访问https://hg.openjdk.java.net/jdk/jdk12/
# 2点击“browse”
# 3点击“zip”即可下载到本地二、编译OpenJDK
参考https://openjdk.org/groups/build/doc/building.html
1安装编译所需的组件
提示遇到下载安装慢可以将安装源更换为国内源 参考链接中External Library Requirements章节。
2执行编译命令
# 我使用到的命令[进入到解压后的源码中执行]
1. bash configure --enable-debug --with-jvm-variantsserver
# 执行完之后可能会有报错根据提示信息安装缺少的组件即可。
2. make images
# 前言中的硬件配置编译时长15分钟执行过程可可能会报错我在编译时的报错原因是gcc版本太高引起的重新安装了gcc7可作参考3验证编译结果
# 第二条命令正常执行后可以用第三条命令验证结果出现OpenJDK提示则表示正常。
3. ./build/*/images/jdk/bin/java -version三、在Clion中调试OpenJDK源码
1Clion中配置信息
提示配置中所有的目录都选wsl的相对地址不选驱动盘符下的绝对地址
2运行Debug进行调试
根据第一步的配置信息都添加好之后就可以进行Debug了找到src/java.base/share/native/libjli/java.c文件进入JavaMain方法打断点开始执行。
2去除调试sigsegv segmentation fault问题
# 编辑.gdbinit文件
vim ~/.gdbinit
# 写入内容后:wq保存
handle SIGSEGV nostop noprint pass
handle SIGBUS nostop noprint pass
handle SIGFPE nostop noprint pass
handle SIGPIPE nostop noprint pass
handle SIGILL nostop noprint pass
# Clion中重新编译就不会出现sigsegv segmentation fault。