Ubuntu下Eclipse调试JDK源码
Posted 文文技术号
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu下Eclipse调试JDK源码相关的知识,希望对你有一定的参考价值。
最近正在阅读G1相关的书籍,但是有的知识点始终有种隔靴挠痒的感觉.所以把OpenJDK的代码down下来,可以参考下源码.撰写此文,以此记录.
环境准备:
ubuntu系统一个(本文用的是18)
OpenJDK源码一份(本文用的是14),命令如下:
hg clone https://hg.openjdk.java.net/jdk/jdk14/
因为GFW的原因所以下载的时候可能会中断,可以多尝试几次,或者通过代理的方式下载.
eclipse 一个.在eclipse 官网中下载一个 c/c++开发版的eclipse,本文所用为此版(eclipse-cpp-2020-06-R-linux-gtk-x86_64.tar.gz).
OpenJDK一个用于编译下一个绿色版,然后在编译脚本指定build-jdk的路径即可.
编译JDK: (本人对c/c++半吊子都谈不上,所以也无法直接用eclipse编译OpenJDK)所以还是采用官方自带的编译脚本先编译好可用的debug中间文件和可执行文件,编译JDK需要依赖很多工具链,有一种方法就是对着jdk14/doc/building.html(如果英文好最好是看一遍减少对OpenJDK的畏惧之心,跟我一样英文不好的,直接谷歌翻译就可以)对着官方的教程看依赖的插件,一步一步安装.或者在编译的时候会提示缺少插件然后再安装缺少的插件(本文也是采用这种偷懒的方法).命令如下:
bash configure --with-build-jdk=/data/software/jdk-13 --enable-debug --with-jvm-variants=server --enable-dtrace
checking sys/sdt.h presence... configure: error: Cannot enable dtrace with missing dependencies. See above. You might be able to fix this by running 'sudo apt-get install systemtap-sdt-dev'.
此时只需要按照提示下载依赖的工具即可解决了所有的依赖之后.
成功之后会在build目录下面出现一个目录linux-x86_64-server-fastdebug/.
接着执行:
make CONF_NAME=linux-x86_64-server-fastdebu
Eclipse导入:
选择此项选择对应的目录,不要引入src,其余用默认配置即可.
配置可执行文件,此处配置上一步生成的编译目录中产生的可执行文件
thread.cpp中下好断点就可以跟踪JVM的启动过程了.
以上是关于Ubuntu下Eclipse调试JDK源码的主要内容,如果未能解决你的问题,请参考以下文章
设置Eclipse可以Debug模式调试JDK源码,并显示局部变量的值