Sto provando a eseguire il debug di un'app bloccata (o sospesa). Come ottengo i file diagnostici dallo schianto?
I singoli rapporti sugli arresti anomali vengono memorizzati in ~ / Library / Logs / CrashReporter ma esiste uno strumento di raccolta dei registri di sistema chiamato sysdiagnose .
Quando inizi a verificarsi il problema, tieni premuto il tasto 4 tasti di controllo e quindi premere il punto "." chiave. spostamento + Controllo + opzione + comando + .
Dopo circa 15 secondi, si apre una finestra del Finder con un file sysdiagnose evidenziato.
Questa scorciatoia esegue semplicemente il comando sysdiagnose
, quindi se hai familiarità con il terminale e vuoi passare in un ID di processo, puoi ottenere informazioni di debug avanzate su quel programma specifico. La scorciatoia chiave chiama lo strumento senza argomenti e cattura solo il rapporto di base.
Questo script di shell (su 10.8 e versioni precedenti) e il programma eseguibile con lo stesso nome su 10.9:
In Terminale, esegui il seguente comando.
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.stackshot.plist
Prendi nota del seguente accordo chiave, ne avrai bisogno in seguito:
Controllo - Option - Comando - Maiusc -.
Quando si verifica un problema:
sysdiagnose
- aspetta semplicemente il tempo che puoi (non ci saranno indicazioni sullo stato di avanzamento) In rari casi, un problema potrebbe impedire il completamento di sysdiagnose (ho apportato suggerimenti di miglioramento ad Apple). Se ciò accade, se sei sicuro di aver aspettato abbastanza a lungo, potrebbe essere sensato riavviare il Mac. Quindi:
/private/var/tmp
Senza l'accordo della chiave, puoi eseguire sysdiagnose dalla riga di comando (vedi sotto, pagina del manuale Apple). Ma è spesso più utile, o necessario, usare l'accordo - quindi preparatevi.
Anche se non incoraggio la disattenzione, puoi essere un po 'negligente con Controllo - Opzione - Comando - Maiusc - . ... se ti sforzi di evitare il tasto fn sul tuo laptop, non ti preoccupare; includerlo per sbaglio non dovrebbe impedire la corsa di sysdiagnose
.
Suggerimento: a qualcuno potrebbe piacere fare una domanda separata sull'analisi dei risultati di sysdiagnose
- una risposta più generalizzata potrebbe essere utile.
/tmp
è un file La presenza di un file sysdiagnose_….tar.gz
indica che tutte le parti della routine sysdiagnose
sono state completate e che i risultati sono stati archiviati. Se lo desideri, apri l'archivio: il suo contenuto apparirà come una cartella.
/tmp
è una cartella La presenza di una cartella sysdiagnose_…
(non un file .tar.gz
) indica che:
Alcuni file sono leggibili dall'uomo e possono aiutare a risolvere un problema.
Altri file sono più orientati agli sviluppatori.
Correlati:
Per una corsa incompleta di sysdiagnose
può essere utile focalizzare l'attenzione su file anormalmente vuoti ...
stackshot (1) Pagina del manuale di OS X
sysdiagnose (1) Pagina del manuale di OS X
Alcuni dei risultati precedenti sono un'edizione più generica di una risposta accettata che appare altrove.
Lasciati guidare dall'elenco dei registri in Console:
Aspettati di trovare file nei seguenti percorsi:
Console
Per trovare i file di diagnostica o di arresto anomalo esistenti, apri l'app Console e trova i file in Rapporti utente (situati a ~/Library/Logs/DiagnosticReports
) in Rapporti di sistema (situato in /Library/Logs/DiagnosticReports
) sezioni. Vedi: Dove posso trovare i miei registri degli arresti anomali?
sysdiagnose
Come per istruzioni ufficiali sysdiagnose
per macOS, puoi attivare un sysdiagnose
o da:
Nota: per accedere al link sopra, devi prima accedere a Sviluppatore sito Apple .
Premere brevemente i seguenti tasti contemporaneamente:
Comando - Opzione - Maiusc - Controllo - Periodo (.)
e aspetta. Il processo sysdiagnose
può richiedere 10 minuti per essere completato. Una volta terminato, Finder dovrebbe apparire automaticamente mostrando il file generato in /private/var/tmp/
(ad esempio sysdiagnose_2017.mm.dd_hh-mm-ss-0000_12345.tar.gz
).
Attiva un sysdiagnose
da Terminale immettendo questo comando:
sudo sysdiagnose
Per generare dump core di crash, vedi: Come generare core dump su macOS?
Leggi altre domande sui tag macos mountain-lion error