Мне нужно запустить DTrace в 32-разрядных исполняемых файлах на OSX. У меня две машины, работающие под управлением OSX 10.8.2. На одном из них, /usr/lib/dtrace/libdtrace_dyld.dylib
является жир двоичный, с другой стороны это не так:32 бит DTrace на OSX
/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
Где эти два взялось? Как получить тучную «официально», т. Е. Не просто скопировать ее с другой машины?
Это то, что происходит, когда я пытаюсь запустить DTrace на 32-битные исполняемые с 64-битной только dylib, кстати:
dyld: could not load inserted library: /usr/lib/dtrace/libdtrace_dyld.dylib
Какой оптимизатор это сделает? Это очень новая машина, и я никогда не знала, что это такое. –
oh вы знаете, что удаляет «неиспользуемые» локализации, чтобы оптимизировать дисковое пространство. Я попытаюсь найти «чистую» систему и обновить ответ. – Kentzo
Я абсолютно уверен, что я никогда (заведомо) не запускаю такую программу, и это машина, которая является неделей. –