使用eclipse调试OpenJDK源代码

在我的项目中,我想使用eclipse调试OpenJDK版本8的C / C ++源代码。 为此,我做了以下事情:

  1. 使用此自述 --with-debug-level=slowdebug使用--with-debug-level=slowdebug编译OpenJDK8。
  2. 将源码makefile项目导入eclipse
  3. 创建了一个eclipse运行配置,对已编译的OpenJDK的java.exe执行gdb并定位示例java程序。 在这个配置中我附加了JDK源代码目录路径,这样eclipse就可以将调试符号转换为源代码行并查看它们(显然)

通过这种方法,我可以通过java.c等文件的代码进行调试。

我的问题是,我仍然无法通过本机代码进行调试。 例如java.lang.System.currentTimeMillis()

对我来说,看起来这些库没有包含在eclipse gdb-run中。 我试图手动运行gdb,它仍然无法通过该代码部分进行调试。

有没有人有同样的行为,或曾经尝试调试JDK源代码? 我想我在这里遗漏了一些东西……也许我的方法对于这个任务来说是不正确的? 很高兴听到有关如何正确调试JDK源代码的任何提议。

先谢谢你。

您可能需要通过右上角甲虫图标强制eclipse进入调试模式。

另一种可能的选择是使用断言(假)行而不是断点。

最后,您可能需要在eclipse项目设置中指定编译器。 请记住,Eclipse调试器不适用于所有编译器,通常是因为链接器不兼容。 我建议在线查找兼容性列表。