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源码的主要内容,如果未能解决你的问题,请参考以下文章

你想调试jdk源码吗?想,那你找对地方了!

eclipse如何debug调试jdk源码并显示局部变量

设置Eclipse可以Debug模式调试JDK源码,并显示局部变量的值

设置Eclipse可以Debug模式调试JDK源码,并显示局部变量的1

解决Eclipse调试JDK源码无法查看变量值

Ubuntu下使用Eclipse IDE for C/C++ Developers交叉编译和调试