Glossario/Quando qualcosa va storto
Spindump
Anche: rapporto sui blocchi
In breve
Uno spindump è un rapporto di diagnosi che registra cosa stavano facendo i processi di un Mac, usato per indagare sulle app che si bloccano o smettono di rispondere. macOS include lo strumento spindump, e Monitoraggio Attività può crearne uno dal menu Altro.
Uno spindump è come un campione dell’intero sistema anziché di un singolo processo. Mostra quali thread erano in esecuzione o in attesa, e questo aiuta uno sviluppatore a capire perché un’app ha smesso di rispondere.
In Monitoraggio Attività, Apple descrive Spindump come la creazione di un rapporto per le app che non rispondevano e sono state chiuse con l’uscita forzata. È uno dei rapporti di diagnosi del menu Altro, insieme a Campiona processo e Diagnosi sistema.
Come creare uno spindump in Monitoraggio Attività
Fai clic sul pulsante Altro (i tre puntini) in alto nella finestra di Monitoraggio Attività e scegli Spindump. Potrebbe esserti chiesta una password di amministratore. Il rapporto si apre quando è pronto, e puoi salvarlo.
Crealo mentre l’app è bloccata, non dopo, così il rapporto cattura il problema.
Cosa fare con uno spindump
Allegalo a una segnalazione di bug per lo sviluppatore dell’app, o ad Apple tramite Assistente Feedback. Il rapporto può contenere i nomi delle app e dei processi che stai eseguendo, quindi rileggilo prima di condividerlo pubblicamente.
Come creare uno spindump dal Terminale
Il comando spindump campiona ogni processo del Mac, quindi deve essere eseguito come root. Registra solo cosa fanno i processi e non li ferma.
- Apri il Terminale mentre l’app è ancora bloccata.
- Esegui
sudo spindump Safari -reveal, sostituendo Safari con parte del nome dell’app. Inserisci la password di amministratore quando ti viene chiesta. - Aspetta mentre campiona. La durata predefinita è 10 secondi.
- Quando finisce, il rapporto viene salvato in /tmp, e l’opzione
-reveallo mostra nel Finder.
Come leggere uno spindump
L’app che indichi compare per prima, e tutti gli altri processi la seguono. Ogni processo mostra i suoi thread e gli stack di chiamate osservati durante il campionamento.
- Di default, gli stack sono ordinati per conteggio. Una riga che inizia con 84 è stata vista in 84 campioni.
- Un asterisco (*) all’inizio di un frame indica codice del kernel.
- Il frame più profondo di ogni stack mostra se il thread era in esecuzione o sospeso.
- Se il thread principale dell’app è sospeso in attesa di un altro processo, guarda quell’altro processo nello stesso rapporto. È il vantaggio principale rispetto al campione di un singolo processo.
Dove vengono salvati gli spindump
Quando forzi l’uscita da un’app che non rispondeva, macOS può creare un rapporto in automatico e proporti di inviarlo ad Apple. Questi rapporti sono salvati in /Library/Logs/DiagnosticReports.
Puoi sfogliarli nell’app Console, in Applicazioni > Utility. Sotto Rapporti nella barra laterale, guarda Rapporti spin e Rapporti diagnostica. Seleziona un rapporto per leggerlo.
I rapporti che crei tu da Monitoraggio Attività si aprono in una finestra quando sono pronti. Salva il rapporto da quella finestra prima di chiuderla, così hai una copia da inviare.
Campione, spindump o Diagnosi sistema
Il menu Altro di Monitoraggio Attività offre diversi rapporti. Scegli quello adatto al problema. Uno spindump è molto più grande di un campione perché include ogni processo, e Diagnosi sistema richiede ancora più tempo e mostra un avviso sulla privacy prima di partire. Se uno sviluppatore ti chiede un campione, manda un campione. Se il supporto Apple ti chiede un rapporto preciso, manda quello.
- Campiona processo: un solo processo, circa 3 secondi. Usalo quando sai quale app è bloccata o occupata.
- Spindump: ogni processo del Mac. Usalo quando un’app si blocca e la causa potrebbe essere un altro processo.
- Diagnosi sistema: un rapporto più grande costruito dai log di tutto il Mac, di solito richiesto dal supporto Apple.
Domande frequenti
Cos’è uno spindump sul Mac?
È un rapporto di diagnosi su cosa stavano facendo i processi, usato per capire perché un’app si è bloccata. Puoi crearne uno dal menu Altro di Monitoraggio Attività.
Che differenza c’è tra uno spindump e un campione?
Campiona processo registra un solo processo selezionato. Uno spindump osserva i processi di tutto il sistema, il che aiuta quando la causa di un blocco è fuori dall’app stessa.
È normale che spindump usi molta CPU?
Può usare la CPU per poco tempo mentre scrive un rapporto, spesso dopo che un’app si è bloccata. Dovrebbe fermarsi da solo una volta finito il rapporto.
Perché spindump richiede una password di amministratore?
Legge gli stack di chiamate di ogni processo del Mac, compresi quelli di sistema. macOS lo consente solo a root.
Posso creare uno spindump quando non c’è niente di bloccato?
Sì, ma mostrerà solo l’attività normale. Crealo mentre l’app è bloccata, così il rapporto cattura il problema.
Perché è comparso uno spindump dopo che ho forzato l’uscita da un’app?
macOS usa spindump per registrare cosa stava facendo un’app che non rispondeva quando ne è stata forzata l’uscita. È quel rapporto che la finestra di invio ad Apple ti propone di inviare.
Correlati
Cerchi qualcosa di meglio di Monitoraggio Attività? Leggi le migliori alternative a Monitoraggio Attività per Mac, oppure sfoglia tutti i termini del glossario.