Ubuntu14/16编译可调试openjdk8

一、准备工作

jdk版本说明
jdk7需要编译过后的jdk7,或openjdk7,这边由于openjdk7在外网下载比较慢,所以从推荐从oracle官方下载linux版的jdk7即可,点此进入下载处,推荐下载jdk-7u80-linux-x64.tar.gz.
openjdk8源码由于外网地址下载速度慢,所以这里使用码云的下载地址(克隆/下载按钮上,下载zip即可), 点此进入下载处.
ubuntu14/16点此下载ubuntu16点此下载ubuntu14

二、拷贝进linux,并解压

拷贝并解压openjdk8,用tar -xzvf解压即可,这边解压到了/opt/dev/workspace/clion/openjdk8目录,jdk解压到/opt/dev/java/jdk1.7.0_80,下面是在finalshell里的结构。
在这里插入图片描述

三、编译openjdk8

如果是ubuntu14则无需修改openjdk里的文件,如果是ubuntu16,则需要修改/openjdk/hotspot/make/linux/makefiles/adjust-mflags.sh,删除第67行: s/-([][]*)j/-1-j/

如果后续要调试的话,需要安装bear工具(sudo apt-get install bear),生成compile_commands.json文件,接着定位到目录后,执行命令

cd /opt/dev/workspace/clion/openjdk8
sudo bash configure --with-debug-level=slowdebug --with-target-bits=64 --with-jvm-variants=server --with-boot-jdk=/opt/dev/java/jdk1.7.0_80

configure这步首次要执行几次,如果缺少特定的包,则按提示用apt-get安装即可(ubuntu16下,会出现apt-get不到的包,先安装能安装的,前面拿不到的会自动不需要),出现下面步骤则说明成功了。
在这里插入图片描述
接着执行编译命令(编译的目的主要是为了后面调试,所以这边只列出了用bear工具编译并生成compile_commands.json)

sudo bear make all  DEBUG_BINARIES=true  ZIP_DEBUGINFO_FILES=0 DISABLE_HOTSPOT_OS_VERSION_CHECK=ok

编译过程中只要不出现中断错误,就可以成功,如下图(同时也看到生成了compile_commands.json),后续调试部分点此进入
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值