使用Eclipse调试OpenJDK源代码

时间:2018-08-20 10:31:55

标签: java eclipse debugging java-native-interface gdb

在我的项目中,我想使用Eclipse调试OpenJDK版本8的C / C ++源代码。为此,我已完成以下操作:

  1. 使用此readme--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源代码的任何建议。

谢谢。

1 个答案:

答案 0 :(得分:1)

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

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

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