gpt4 book ai didi

debugging - 如何在 QEMU 内使用 GDB 对 x86 代码进行源代码级调试?

转载 作者:行者123 更新时间:2023-12-02 22:54:37 27 4
gpt4 key购买 nike

我为 MBR 部分编写了一个 x86 汇编程序。我编译如下:

nasm hellombr.asm -f bin -o hellombr.img

然后我在 qemu 中运行它:

qemu -fda hellombr.img -boot a

问题是如何在源代码级别调试我的程序?

最佳答案

您应该让 nasm 在 ELF 文件中创建调试符号,然后将其转储到要在 MBR 中使用的平面二进制文件。然后您可以指示 GDB 从 ELF 文件中读取必要的符号。

完整的过程将变成这样:

$ nasm hellombr.asm -f elf -g -o hellombr.elf$ objcopy -O binary hellombr.elf hellombr.img$ qemu -s -S -fda hellombr.img -boot a$ gdb(gdb) symbol-file hellombr.elf(gdb) target remote localhost:1234

有关我传递给 qemu 的标志的说明,请参阅 this回答。

关于debugging - 如何在 QEMU 内使用 GDB 对 x86 代码进行源代码级调试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8287181/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com