Debugging .ASM文件调试工具

Debugging .ASM文件调试工具,debugging,assembly,bootloader,Debugging,Assembly,Bootloader,我想知道哪种调试工具可以用于汇编程序,以及如何使用它 我已经在汇编中编写了一个简单的引导加载程序。然而,尽管我认为逻辑是正确的,但它并没有如我所希望的那样正常工作。所以,我尝试使用一个调试器,这样我就可以单步执行引导加载程序,检查寄存器状态等等 我在Ubuntu上尝试了GDB,将我的.asm编译成.elf和.o(我需要这样做吗?如果需要,下一步是什么?)此外,我还了解到Bochs模拟器中有一个内部调试器,但我找不到任何关于如何使用它的文档。我也有VisualStudio2010,windbg,但

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

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

我在Ubuntu上尝试了GDB,将我的.asm编译成.elf和.o(我需要这样做吗?如果需要,下一步是什么?)此外,我还了解到Bochs模拟器中有一个内部调试器,但我找不到任何关于如何使用它的文档。我也有VisualStudio2010,windbg,但我不知道如何使用它来调试.asm文件

如果你以前做过,这将是一个简单的答案。任何帮助都将不胜感激


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


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

查看前面的答案:(注意osdev wiki链接)感谢您的链接,但我认为这对我的情况没有多大帮助。我可能错了。。汉克斯·丹尼尔。奇怪的是,我无法让Bochs内部调试器正常工作。我试图在命令行上进行配置,但对我来说并不太有效。(即使对于命令行,它也只是启动GUI仿真器…)我想我将再次尝试阅读该手册…我曾经将其附加到gdb,该技术工作正常。我肯定是手册上的什么地方。