Bro*_*ses 17
您不需要目标操作系统来调试在QEMU中运行的代码 - QEMU已经为您执行了此操作.
具体来说,QEMU支持从GDB进行远程调试 - 您可以使用适当的命令行选项运行QEMU,它将导出GDB副本(在主机上运行)可以连接的接口.此时,您可以在GDB中调试程序,就像在主机上运行它一样.
http://wiki.osdev.org/GDB似乎有更多的基本信息; 可能还不足以让你完全开始,但至少在QEMU和GDB文档中给出了基本的想法和一些要查找的术语.略过一下关于"实现GDB存根"的内容,由于QEMU已经有了,所以这里不适用,并从"使用仿真器存根"一节开始.简短形式就是你用QEMU -s
选项(在localhost上导出GDB连接:1234)和-S
选项(在开始执行前等待GDB"continue"命令),然后在主机上的GDB中你说target remote :1234
而不是run
.当然,您还需要使用ARM版本的GDB而不是native-x86版本.
(此外,如果您愿意为商业解决方案付费,CodeSourcery的ARM工具链具有IDE集成功能,可以自动设置所有这些,包括支持"printf"打印到调试器控制台.这适用于物理板如果你有一个硬件调试器也是如此.关于我作为CodeSourcery员工的通常免责声明适用 - 但我发现它很容易使用.)
更新,2012: CodeSourcery的工具链现在称为Mentor Graphics Sourcery CodeBench,但以上所有内容仍然适用.
归档时间: |
|
查看次数: |
8549 次 |
最近记录: |