从零开始---搭建单步调试JVM源码环境

从零开始—搭建单步调试JVM源码环境

编译环境

  • 操作系统:Ubuntu16
  • boot jdk:jdk7
  • 编译的jdk:jdk8
  • 看源码工具:Clion、NetBeans

编译

首先安装依赖

sudo apt-get install libx11-dev libxext-dev libxrender-dev libxtst-devlibxt-dev libcups2-dev libfreetype6-dev libasound2-dev ccache

之后安装boot jdk
因为openjdk源码中有些功能是用Java代码实现的,比如调试工具:jps、jstat等,还有一些核心jar包,如rt.jar、tools.jar等,都需要相应版本的JDK。boot jdk需要比你编译的jdk版本低,因此选择jdk7版本

将其直接解压到Documents目录下,然后配置下环境
vi ~/.bashrc
文件底部加入下面三句话(ziya改成你自己的用户名)

export JAVA_HOME=/home/ziya/Documents/jdk1.7.0_80 export
CLASSPATH=.: J A V A H O M E / l i b / d t . j a r : JAVA_HOME/lib/dt.jar: JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar export
PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:ANT_HOME/bin:$PATH

将修改后的配置文件载入系统

source ~/.bashrc

接下来配置openjdk
在网上下载openjdk包后,解压到相应的文件夹。
在openjdk目录下,找到configure文件
默认情况下configure不是可执行文件,执行命令

chmod u+x configure

意思是给user用户赋予文件的执行权限

接下来执行配置命令

sudo ./configure --with-target-bits=64 --with-boot-jdk=/home/ziya/Documents/jdk1.7.0_80 --with-debug-level=slowdebug --enable-debug-symbols ZIP_DEBUGINFO_FILES=0

这中间碰到了一些小的问题
由于我的ubuntu系统语言选择的英文,所以文件夹名字默认是中文的,我的相关文件都安装在了”文档“下,导致报错。
在这里插入图片描述
所以在进行相关配置时尽量避开中文路径

修改文件名为中文后,成功配置
在这里插入图片描述
编译:

sudo make all DISABLE_HOTSPOT_OS_VERSION_CHECK=OK
ZIP_DEBUGINFO_FILES=0

出现下面的画面证明编译成功

在这里插入图片描述
单步调试
单步调试需要安装CLION软件,由于clion不支持makefile仅支持cmake,因此需要改写cmakelist
在打开clion后(找到clion.sh文件位置,然后再该路径下. /clion.sh),然后导入openjdk项目

在clion根目录下,新建CMakeList.txt,内容如下:

cmake_minimum_required(VERSION 3.16) project(hotspot)

file(GLOB_RECURSE SOURCE_FILES “.cpp" ".hpp” “.c" ".h”)

add_executable(hotspot ${SOURCE_FILES})

待ide自动移入配置后,即可调试
NetBeans8.2
这个IDE支持Makefile,但是高版本就不支持了,所以只能用8.2版本

注意是新建项目,它会根据Makefile将项目构建好。后面就是一直下一步、下一步……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值