【问题标题】:What does the first column of numbers mean in objdump output?objdump 输出中第一列数字是什么意思?
【发布时间】:2011-12-27 17:03:10
【问题描述】:

我使用objdump -d a.out 获得以下信息。我最初假设第一列(例如080482b4)是字节偏移量,但后来我注意到文件只有 7190 字节长!

a.out:     file format elf32-i386


Disassembly of section .init:

080482b4 <_init>:
 80482b4:   53                      push   %ebx
 80482b5:   83 ec 08                sub    $0x8,%esp
 80482b8:   e8 00 00 00 00          call   80482bd <_init+0x9>
 80482bd:   5b                      pop    %ebx
 80482be:   81 c3 37 1d 00 00       add    $0x1d37,%ebx
 80482c4:   8b 83 fc ff ff ff       mov    -0x4(%ebx),%eax
 80482ca:   85 c0                   test   %eax,%eax
 80482cc:   74 05                   je     80482d3 <_init+0x1f>
 80482ce:   e8 3d 00 00 00          call   8048310 <__gmon_start__@plt>
 80482d3:   e8 e8 00 00 00          call   80483c0 <frame_dummy>
 80482d8:   e8 b3 01 00 00          call   8048490 <__do_global_ctors_aux>
 80482dd:   83 c4 08                add    $0x8,%esp
 80482e0:   5b                      pop    %ebx
 80482e1:   c3                      ret    

【问题讨论】:

    标签: linux elf


    【解决方案1】:

    它显示代码将在运行映像中的虚拟地址。

    (按照惯例,code in Linux x86 ELF binaries typically starts at 0x08048000。)

    【讨论】:

    • 哦。谢谢。反正有知道文件偏移量吗?
    • 是:objdump -h 将显示每个部分的虚拟内存地址 (VMA) 和文件偏移量。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-03
    • 2014-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多