我正在使用汇编编写的玩具启动器/内核并在qemu仿真器上运行。我可以使用-s -S
选项运行qemu并使用远程目标使用gdb进行调试,但是我没有使用gdb加载任何调试符号。如何从程序集中生成符号文件?
我正在使用nasm为qemu生成一个二进制图像,以便从我的程序集文件中运行,但我还没有发现在图像本身中包含调试信息(我不确定这是否有意义)。我还发现gdb允许你加载一个单独的符号文件进行调试,所以现在我的问题是如何从汇编代码生成一个符号文件。
我见过使用objcopy
的建议,但我相信只适用于elf文件,而不是二进制文件。我试过让nasm生成一个精灵,但由于我在程序集文件中的(必要的)org
指令,它一直在进行barfing。
答案 0 :(得分:5)
它会说这样试试:
你需要解决为什么nasm无法生成带有.org的.elf文件。我不知道。 GNA对此很好。