首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OSX上的32位DTrace

OSX上的32位DTrace
EN

Stack Overflow用户
提问于 2013-02-22 01:35:28
回答 1查看 363关注 0票数 4

我需要在OSX上的32位可执行文件上运行DTrace。我有两台机器,都运行OSX 10.8.2。在其中一个上,/usr/lib/dtrace/libdtrace_dyld.dylib是一个胖二进制文件,而在另一个上面,它不是:

代码语言:javascript
复制
/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

vs

代码语言:javascript
复制
/usr/lib/dtrace/libdtrace_dyld.dylib: Mach-O 64-bit dynamically linked shared library x86_64

这两个是从哪里来的?我如何才能“正式”地获取胖机器,也就是说,不需要直接从另一台机器复制它?

这是当我尝试使用仅64位的dylib btw在32位可执行文件上运行dtrace时发生的情况:

代码语言:javascript
复制
dyld: could not load inserted library: /usr/lib/dtrace/libdtrace_dyld.dylib
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-26 22:46:36

Mac上的DTrace库是fat二进制文件(i386、x86_64)。你的第二台机器缺少32位,因为有人删除了它。可能有一个系统“优化器”在系统上运行。

我机器上的库的SHA (shasum /usr/lib/dtrace/libdtrace_dyld.dylib)是0722f971d9999245cda234ba5fd3119820fa348a。我已经在其他几台机器上测试过了,它是匹配的。它还与全新安装了Mac OS X ML的机器相匹配。这意味着可以直接复制它。

恢复它的唯一另一种方法是从备份中恢复它或重新安装系统。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15008718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档