Команда оболочки ...
sample Finder
... будет отслеживать все вызовы функций, выполняемые Finder, и создавать текстовый файл, показывающий стеки вызовов каждого из потоков Finder. Даже знающие непрограммисты (если хотите, суперпользователи) часто могут извлечь из этого ценную информацию. Также полезно прикрепить к отчету об ошибках Apple через http://bugreport.apple.com/ .
По сути, это то же самое, что кнопка "Пример процесса" в Activity Monitor.
Обновление: О, даже лучше, чем sample(1)
это spindump(8)
, который похож на sample
но добавляет видимость того, что делает ядро, когда потоки приложения блокируются в ожидании ядра.
sudo spindump Finder
Текстовый файл, который он создает в /tmp
, потребует чтения привилегированных прав root, поскольку он может содержать привилегированную информацию.
Больше подсказок можно почерпнуть из ...
lsof -p $PIDOfFinder
(где $ PIDOfFinder - это идентификатор процесса Finder, который вы можете найти через ps
.)
Похоже, вы можете получить ту же информацию в Activity Monitor. Выберите Finder, нажмите кнопку "Проверить" и выберите вкладку "Открыть файлы и порты".
Другим интересным моментом данных будет то, случится ли проблема с новой чистой учетной записью пользователя в той же системе. Просто создайте новую учетную запись пользователя, выйдите из своей обычной учетной записи (не используйте быстрое переключение пользователей - мы не хотим, чтобы ваш "плохой" экземпляр Finder работал в фоновом режиме и сбивал с толку), и войдите в новую чистую учетную запись и посмотреть, если проблема там тоже происходит.
Используете ли вы какие-либо хаки InputManager, в том числе основанные на SIMBL, или "гаксы" Unsanity Application Enhancer (APE)?
Возникает ли проблема при загрузке в "Безопасном режиме" (то есть при загрузке с нажатой клавишей <shift>
)?