【发布时间】:2012-12-23 22:58:14
【问题描述】:
Freedos 引导加载程序似乎存在问题。 (在某些情况下,引导代码似乎找不到内核。)
所以我正在尝试使用 gdb 调试 qemu 中的引导加载程序。按照在几个 wiki 和免费在线课程资料上找到的说明,我像这样运行 qemu
qemu-system-i386 -fda fdboot.img -boot a -s -S
然后像这样连接gdb
$ gdb
(gdb) target remote localhost:1234
我可以使用 si 逐步完成前 10 到 12 条指令,我认为这是 SeaBIOS。
但除此之外,当我尝试进入引导加载程序代码时,它会继续执行而不会中断,一直到 FreeDos 菜单提示。这完全跳过了我想在执行时逐步检查的引导加载程序代码。
我需要做什么才能逐步通过引导加载程序?
[如果您想自己尝试,可以从项目网站下载freedos软盘镜像。]
【问题讨论】:
-
替代建议:BOCHS 有一个内置调试器,可让您单步启动引导扇区。
标签: debugging assembly gdb bootloader qemu