主页

索引

模块索引

搜索页面

8.6.2. otool-Mac专用

备注

Mac 专用,对应linux的 readelf 命令

  • otool 是 macOS 上的一个工具,类似于 Linux 上的 readelf。它可以用于显示 Mach-O 文件的各种信息。

示例:

1. 显示动态库的依赖信息:
$ otool -L test.so
test.so:
        xxx (compatibility version 0.0.0, current version 0.0.0)
        /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 1700.255.5)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1345.120.2)


2. 显示文件头信息:
$ otool -h test.so
test.so:
Mach header
      magic  cputype cpusubtype  caps    filetype ncmds sizeofcmds      flags
 0xfeedfacf 16777223          3  0x00           6    16       1224 0x00100085


3. 显示符号表信息:
$ otool -I -v  test.so
test.so:
Indirect symbols for (__TEXT,__stubs) 18 entries
address            index name
0x0000000000001e0b    54 __Unwind_Resume
0x0000000000001e11    55 __ZNKSt3__16locale9use_facetERNS0_2idE
0x0000000000001e17    56 __ZNKSt3__18ios_base6getlocEv
...

4. 显示节头信息:
➜ otool -l test.so
test.so:
Load command 0
      cmd LC_SEGMENT_64
  cmdsize 472
  segname __TEXT
   vmaddr 0x0000000000000000
   vmsize 0x0000000000002000
  fileoff 0
 filesize 8192
 ...

主页

索引

模块索引

搜索页面