首页 > 解决方案 > 使用 eclipse 调试 OpenJDK 源代码

问题描述

在我的项目中,我想使用 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 源代码的任何建议。

先感谢您。

标签: javaeclipsedebuggingjava-native-interfacegdb

解决方案


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

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

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


推荐阅读