Il comando shell ...
sample Finder
... monitorerà tutte le chiamate di funzione effettuate dal Finder e creerà un file di testo che mostra le pile di chiamate di ciascuno dei thread del Finder. Anche i non programmatori esperti (super utenti, se vuoi) possono spesso trarre preziose informazioni da questo. È anche un'ottima cosa allegare a una segnalazione di bug ad Apple tramite http://bugreport.apple.com/ .
Questo è fondamentalmente lo stesso del pulsante "Processo di campionamento" in Activity Monitor.
Aggiornamento: Ooh, anche meglio di sample(1)
è spindump(8)
, che è come sample
ma aggiunge visibilità in quello che il kernel sta facendo quando le discussioni della app sono bloccati in attesa per il kernel.
sudo spindump Finder
Il file di testo che crea /tmp
richiederà la lettura dei privilegi di root, poiché potrebbe contenere informazioni privilegiate.
Altri indizi potrebbero essere raccolti da ...
lsof -p $PIDOfFinder
(dove $ PIDOfFinder è l'ID del processo del Finder, che puoi trovare tramite ps
.)
Sembra che tu possa ottenere le stesse informazioni in Activity Monitor. Seleziona Finder, premi il pulsante "Ispeziona" e seleziona la scheda "Apri file e porte".
Un altro dato interessante sarebbe se il problema si verifica per un nuovo account utente pulito sullo stesso sistema. Basta creare un nuovo account utente, disconnettersi dal proprio account normale (non utilizzare Cambio rapido utente - non vogliamo che la tua "cattiva" istanza del Finder rimanga in esecuzione in background e confonda le cose) e accedi al nuovo account pulito e vedere se il problema si verifica anche lì.
Stai eseguendo hack di InputManager, inclusi elementi basati su SIMBL, o "haxies" di Unsanity Application Enhancer (APE)?
Il problema si verifica quando viene avviato in "Modalità provvisoria" (ovvero, con il <shift>
tasto premuto)?