.. _otool: otool-Mac专用 ############# .. note:: 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 ...