如何在Eclipse中调试openjdk 9(主要是热点)源代码?

Posted

技术标签:

【中文标题】如何在Eclipse中调试openjdk 9(主要是热点)源代码?【英文标题】:How to debug the openjdk 9 (mainly the hotspot) source code in Eclipse? 【发布时间】:2017-02-05 12:50:45 【问题描述】:

我想调试热点源代码,比如在Native Code中设置一些断点,来学习一下。 于是我用Eclipse构建了openjdk 9源代码并成功,下面是构建设置和构建的输出。

然后我尝试配置“调试配置”,但是我不知道如何设置 c/c++ 应用程序,有人建议它为 JDK 7 设置“openjdk/hotspot/build/Linux/linux_amd64_compiler2/jvmg”,但是我在 jdk 9 的内置输出文件夹中找不到它,我尝试将其设置为“~/jdk9/build/linux-x86_64-normal-server-fastdebug/jdk/java”,然后单击“调试”按钮进行调试,但是它失败并显示“没有可用于 main 的源代码”的信息。 所以我的问题是1,)如何设置让我成功调试jdk源代码? 2、)如果还有其他地方我需要设置?

【问题讨论】:

通过将调试级别设置为 slowdebug 解决的问题。 我是 openjdk 的新手。能否请您指导一下如何定位或编辑字节码指令集 对不起adeel,我也是JVM新手,我想你可以在SO上发布新问题,像apangin这样的JVM专家会帮助你。 【参考方案1】:

通过将 JDK 9 的调试级别设置为 slowdebug 解决的问题

【讨论】:

你有类似Thread 0x7ffff7fc8700 (LWP 74169) "java" 0x00007fffe0dde513 in ?? ()的问题吗? 不,没有,你的 Linux 和 IDE 版本是什么? 我的linux版本是16.10 Ubuntu,IDE是Eclipse 64位(最新版本) @YuFengShen 所以你编译了慢速调试级别的 jdk,然后在你的运行配置中选择了 java 可执行文件?我目前尝试为 OpenJDK8 做同样的事情,但面临失败。会感谢任何帮助here @Aksim,对不起,我也没有通过 gdb 调试本机代码,我只是通过 elipse(c++ 版本) 调试本机代码。

以上是关于如何在Eclipse中调试openjdk 9(主要是热点)源代码?的主要内容,如果未能解决你的问题,请参考以下文章

Mac 10.14.4 编译openjdk1.9源码 及集成clion动态调试

Ubuntu下Eclipse调试JDK源码

高版本Openjdk缺少tools.jar项目编译不过解决办法

编绎调试HotSpot JVM及在Eclipse里调试HotSpot一些步骤

Centos6.7 运行 eclipse出错解决办法

网站源代码如何在线进行调试?