objdump - 汇编代码的dwarf没有列出函数

时间:2016-07-25 10:07:24

标签: gcc elf objdump dwarf readelf

我编写了简单的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中有一个foo条目。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

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

    objdump -d -M intel -S asm.o

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

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

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