0

我写了简单的 x86 汇编程序:

$ cat asm.s

.global foo

.section .text
foo:
    nop
    ret

并用

$ gcc -c -g asm.s -o asm.o

但是当我这样做时objdump --dwarf asm.o,它不会显示任何有关功能的信息foo。看起来,gcc 不会创建.debug_info有关foo.

顺便说一句,有一个fooin条目.symtab

有任何想法吗?

4

1 回答 1

2

错误在 objdump 命令中。使用以下命令,它将显示您的函数的汇编列表:

    objdump -d -M intel -S asm.o

现在您更新了问题 - 如果您想包含调试信息,请使用以下命令调用汇编程序:

    gcc -gdwarf2 -c  asm.s -o asm.o

现在 objdump --dwarf 将显示调试信息。

于 2016-07-25T10:42:31.423 回答