Сегодня я впервые попытался - и не смог - символизировать журнал сбоев на недавно купленном MacBook (позвоните на этот компьютер MB1). MB1 поставляется с предустановленной ОС Mac OS X 10.9. Я отслеживал проблему неудачной символики до Spotlight, не индексируя ни один из моих пакетов .dSYM
(без индекса Spotlight, Apple symbolicatecrash
script не удалось найти пакет .dSYM
, который соответствует журналу сбоев). Я пришел к выводу, что
mdfind "com_apple_xcode_dsym_uuids == *"
ничего не печатает, хотя у меня есть несколько пакетов .xcarchive
в моей папке ~/Library/Developer/Xcode/Archives
, и они определенно содержат подкомплекты .dSYM
, UUID которых можно печатать с помощью dwarfdump --uuid
. У меня также есть пара пакетов .dSYM
внутри моей папки сборки проекта (DerivedData
), но ни один из них не индексируется.
Таким образом, короткий и простой вопрос: как я могу указать Spotlight для индексирования моих пакетов .dSYM?
Если нет легкого ответа на этот простой вопрос, вот что я уже пробовал на MB1:
- Проверить разрешения файлов и папок в
~/Library/Developer/Xcode/Archives
(все они ОК, 755 для папок, 644 для файлов) - Запустить
mdimport ~/Library/Developer/Xcode/Archives
(не действует) - В "Системные настройки > Прожектоp > Конфиденциальность" сначала добавьте, а затем удалите папку
~/Library/Developer/Xcode/Archives
(также не имеет эффекта) - Проверьте с помощью
mdutil -s /
, что индексирование включено для тома (это) - Стереть и перестроить весь индекс
mdutil -E /
(занимает, возможно, 10-15 минут, но все равно не имеет эффекта)
Чтобы перейти к более подробным сведениям: у меня есть старший MacBook (позвольте этому компьютеру MB2), который был моей машиной dev, прежде чем я переключился на MB1. На MB2 мне никогда не приходилось сталкиваться с символикой. MB2 установил Mac OS X 10.8, пока я все еще активно развивался на нем, но недавно обновил MB2 до Mac OS X 10.9.
Сегодня запуск mdfind
на MB2 по-прежнему дает мне много пакетов .dSYM
, как из папки Archives
, так и из папки сборки проекта DerivedData
. Это все старые файлы из Mac OS X 10,8 дней, но, по-видимому, Spotlight сохраняет свой индекс в обновлениях ОС. Я подумал, что было бы интересно увидеть, как Spotlight ведет себя при создании новых файлов, поэтому я сделал следующее:
- Запустите Xcode на MB2, создайте новый архив и запустите
mdfind
. Это находит промежуточный пакет.dSYM
внутри папки сборкиDerivedData
. - Удалите промежуточный пакет
.dSYM
и запуститеmdfind
снова. На этот раз результатов нет, т.е. Пакет.dSYM
внутри папкиArchives
НЕ найден! - Сделайте копию пакета
.xcarchive
, созданного на шаге 1, и поместите копию в корень домашней директории пользователя. Запуститеmdfind
. Это находит подкачку.dSYM
в скопированном пакете.xcarchive
!
В этот момент я перешел к выводу, что, поскольку ~/Library
- скрытая папка, это то, что мешает Spotlight индексировать материал внутри него. Это можно легко подтвердить, создав обычный файл внутри ~/Library
и выполнив поиск (без хитов), затем перемещая файл за пределами ~/Library
и снова и снова (1 удар). К сожалению, эта теория падает на нос по двум причинам:
-
~/Library
уже скрыт в версиях Mac OS X до 10.9, но это не помешало Spotlight индексировать.dSYM
файлы - Флаг "скрытый" - это не все, что сохраняет Spotlight от индексации в
~/Library
: если я покажу папку сchflags nohidden ~/Library
, это не делает обычный файл видимым для Spotlight.
Вернуться к MB1: я попытался повторить шаг 3 сверху, т.е. сделать копию пакета .xcarchive
в корневом каталоге домашней директории пользователя, а затем запустить mdfind
. Удивительно, но на MB1 результат отличается от MB2: mdfind
до сих пор не находит пакетов .dSYM
!
В этот момент я отказываюсь и надеюсь на вашу помощь. Я пришел к выводу, что Mac OS X 10.9 как-то ответственен за мои проблемы, но для жизни я не могу понять, почему это так. В случае, если это помогает, вот несколько дополнительных деталей конфигурации:
- MB1: Xcode 5.0.2 и Xcode 4.6 установлены, 5.0.2 по умолчанию (установлено с
xcode-select
). Также установлен Homebrew. Система представляет собой чистую установку Mac OS X 10.9. - MB2: Xcode 4.5, 4.6 и 5.0 установлены, 4.6 по умолчанию. Также установлен MacPorts. Система - это обновление для Mac OS X 10.9 (ранее установлено.