【发布时间】:2017-02-07 08:20:52
【问题描述】:
我可以在网上找到使用 gdb (Watch a memory range in gdb?) 中断对内存地址的访问的说明,但是当我使用 qemu 时,我不知道如何对客户机上的内存地址执行此操作。
【问题讨论】:
标签: gdb qemu watchpoint
我可以在网上找到使用 gdb (Watch a memory range in gdb?) 中断对内存地址的访问的说明,但是当我使用 qemu 时,我不知道如何对客户机上的内存地址执行此操作。
【问题讨论】:
标签: gdb qemu watchpoint
您通过在 qemu 命令行中提供 -s 来启动 qemu,gdb 服务器在端口 1234 上进行监听。来自 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,您连接到运行在 qemu 上的 gdb 服务器,方法是启动 gdb(适合您来宾架构的 gdb 版本)。然后通过命令连接gdb服务器(如果qemu在同一台机器上运行):
(gdb) target remote :1234
参考资料:
【讨论】: