使用eclipse调试OpenJDK源代码
在我的项目中,我想使用eclipse调试OpenJDK版本8的C / C ++源代码。 为此,我做了以下事情:
- 使用此自述
--with-debug-level=slowdebug
使用--with-debug-level=slowdebug
编译OpenJDK8。 - 将源码makefile项目导入eclipse
- 创建了一个eclipse运行配置,对已编译的OpenJDK的java.exe执行gdb并定位示例java程序。 在这个配置中我附加了JDK源代码目录路径,这样eclipse就可以将调试符号转换为源代码行并查看它们(显然)
通过这种方法,我可以通过java.c
等文件的代码进行调试。
我的问题是,我仍然无法通过本机代码进行调试。 例如java.lang.System.currentTimeMillis()
。
对我来说,看起来这些库没有包含在eclipse gdb-run中。 我试图手动运行gdb,它仍然无法通过该代码部分进行调试。
有没有人有同样的行为,或曾经尝试调试JDK源代码? 我想我在这里遗漏了一些东西……也许我的方法对于这个任务来说是不正确的? 很高兴听到有关如何正确调试JDK源代码的任何提议。
先谢谢你。
您可能需要通过右上角甲虫图标强制eclipse进入调试模式。
另一种可能的选择是使用断言(假)行而不是断点。
最后,您可能需要在eclipse项目设置中指定编译器。 请记住,Eclipse调试器不适用于所有编译器,通常是因为链接器不兼容。 我建议在线查找兼容性列表。