4
我需要在OSX上的32位可執行文件上運行DTrace。我有兩臺機器,都運行OSX 10.8.2。對他們中的一個,/usr/lib/dtrace/libdtrace_dyld.dylib
是一個胖二進制,另一方面,它是不是:OSX上的32位DTrace
/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
/usr/lib/dtrace/libdtrace_dyld.dylib: Mach-O 64-bit dynamically linked shared library x86_64
哪裏都來自這兩個?我怎樣才能「正式」得到胖子,即不需要從另一臺機器上覆制它呢?
這是當我嘗試運行32位可執行文件,僅64位dylib DTrace的,順便說一句會發生什麼:
dyld: could not load inserted library: /usr/lib/dtrace/libdtrace_dyld.dylib
什麼樣的優化器會這樣做?這是一臺非常新的機器,我從來沒有故意運行過這樣的事情。 – 2013-02-27 21:25:14
哦,你知道,刪除「未使用」的本地化,以優化磁盤空間。我會盡力找到「乾淨」的系統並更新答案。 – Kentzo 2013-02-28 04:29:21
我絕對相信,我從來沒有(明知)運行這樣的程序,這是一個星期的機器。 – 2013-02-28 16:58:28