我可以在线找到使用gdb(Watch a memory range in gdb?)访问内存地址的说明,但是当我使用qemu时,我无法弄清楚客户机上的内存地址是如何实现的。
答案 0 :(得分:2)
通过将-s
提供给qemu comman行,您可以通过端口1234上的gdb服务器启动qemu。来自qemu手册页:
-s Shorthand for -gdb tcp::1234, i.e. open a gdbserver on TCP port 1234.
除此之外,您还可以使用选项-S
,这将阻止Qemu继续进行,直到您将gdb连接到它并发出continue
命令。
-S Do not start CPU at startup (you must type 'c' in the monitor).
从gdb,您可以通过启动gdb(适合您的guest虚拟机体系结构的gdb版本)连接到qemu上运行的gdb服务器。然后通过命令连接到gdb服务器(如果qemu在同一台机器上运行):
(gdb) target remote :1234
参考文献: