关于QEMU+GDB调试引导程序问题
关于QEMU+GDB调试引导程序问题
版权声明:转载请标识来源。侵权必究
我们调试引导程序 通常是在0x7c00上断下 并使用gdb查看 但是gdb反汇编的内容是32位 不能得到正确解析。以下是解决办法
-
保证qemu以qemu-system-i386运行 因为我测试 qemu-system-x86_64 并不能成功会报错。我们也是为了调试引导程序 所以也无伤大雅.
-
运行qemu后,运行gdb。输入以下命令
target remote :1234 b *0x7c3e //因为我的引导程序会跳到这里 c //等待程序断下
![image-20220126105146150](https://img2022.cnblogs.com/blog/923483/202201/923483-20220126110503033-1327525407.png)
-
如图现在反汇编为32位,运行以下命令
set architecture i8086 set tdesc filename target.xml //此文件请在附录上下载
![image-20220126105613381](https://img2022.cnblogs.com/blog/923483/202201/923483-20220126110550723-1613481382.png)
- 如果又想查看32/64位代码使用 set architecture 重新设置架构即可
附录
![.jpg edit .zip](https://img2022.cnblogs.com/blog/923483/202201/923483-20220126110812882-1787859628.jpg)