使用eclipse调试OpenJDK源代码

Aks*_*nik 7 java eclipse debugging java-native-interface gdb

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

  1. --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源代码的任何提议.

先感谢您.

Jac*_*ack 1

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

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

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