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
...