我需要在 OSX 上的 32 位可执行文件上运行 DTrace。我有两台机器,都运行 OSX 10.8.2。其中一个/usr/lib/dtrace/libdtrace_dyld.dylib
是胖二进制文件,另一个不是:
/usr/lib/dtrace/libdtrace_dyld.dylib: Mach-O universal binary with 2 architectures
/usr/lib/dtrace/libdtrace_dyld.dylib (for architecture i386): Mach-O dynamically linked shared library i386
/usr/lib/dtrace/libdtrace_dyld.dylib (for architecture x86_64): Mach-O 64-bit dynamically linked shared library x86_64
对比
/usr/lib/dtrace/libdtrace_dyld.dylib: Mach-O 64-bit dynamically linked shared library x86_64
这两个是哪里来的?我如何“正式”获得胖子,即不只是从另一台机器上复制它?
这就是当我尝试在 32 位可执行文件上运行 dtrace 时会发生这种情况,并且只能使用 64 位 dylib,顺便说一句:
dyld: could not load inserted library: /usr/lib/dtrace/libdtrace_dyld.dylib