我们正在将OpenJDK移植到RISC-V。 我们正处于解释器构建的阶段。 我们需要使用 GDB 对其进行调试。 但是,我们还没有找到与RISC-V QEMU配合使用的工作GDB。 任何帮助将不胜感激。
这取决于您所说的"与QEMU一起工作的GDB"是什么意思。 这里有三个用例
- 运行系统模式 QEMU,尝试调试计算机模式或主管模式程序(例如 Linux 内核(。 为此,您应该能够使用连接到 QEMU 内置 GDB stup 的上游 RISC-V GDB 端口像往常一样进行调试。 运行用户模式
- QEMU,尝试调试用户模式程序。 我以前从未这样做过,但我认为您仍然可以使用 QEMU 的内置 GDB 存根并与上游 GDB 连接。
- 运行系统模式 QEMU,尝试调试用户模式程序(例如 OpenJDK(。 在这种情况下,QEMU 实际上并没有考虑在内,因为您实际上只是在寻找一个标准的 Linux GDB 端口。 在本机调试方面,我们的 Linux 和 GDB 端口目前都存在错误,但您应该能够使用两者的最新上游版本,并且至少完成一些工作。 我们的上游 Linux 端口中的驱动程序存在很多问题,但如果您只是使用 QEMU 的 virt 机器,那么您应该很高兴。
我实际上不确定StackOverflow是提出这个问题的最佳位置,因为一旦提出答案,答案就会过时。