.ASM文件调试工具

时间:2012-02-06 19:23:16

标签: debugging assembly bootloader

我想知道哪个调试工具可以用于汇编程序以及如何使用它。

我在汇编中编写了一个简单的bootloader。但是,尽管我认为逻辑是正确的,但它并不像我希望的那样正常工作。所以,我正在尝试使用调试器,以便我可以单步执行引导加载程序,检查寄存器状态等。

我在Ubuntu上尝试了GDB,将我的.asm编译为.elf和.o(我是否需要这样做?如果是,下一步是什么?)另外,我读到Bochs模拟器中有一个内部调试器,但我找不到任何文件如何使用它。我也有Visual Studio 2010,windbg,但我不知道如何使用它进行.asm文件调试。

如果您之前已经这样做过,那将是一个简单的答案。任何帮助都会非常感激。

此致

1 个答案:

答案 0 :(得分:1)

如果你想调试bootloader代码,你显然需要在代码本身运行的相同环境中运行它。我相信你已经知道了,一旦BIOS就会以实模式执行bootloader代码完成POST。然后,引导加载程序在7c00h加载到内存中,并执行跳转到该地址。

显然,一旦你的计算机运行并且已经加载了“真正的”操作系统,就无法可靠地模拟这种环境,因为那时你的CPU处于保护模式(或者长模式,如果它是AMD64) 。此时您唯一的选择是使用QEMUBochs来模拟操作系统中的真实PC。我已经使用Bochs来调试我过去编写的一些引导加载程序代码,它运行得很好。有关详细说明,请查看手册页。

相关问题