Come si ottengono i file di diagnostica del sistema da macOS?

18

Sto provando a eseguire il debug di un'app bloccata (o sospesa). Come ottengo i file diagnostici dallo schianto?

    
posta Stephen 07.08.2012 - 22:27
fonte

3 risposte

17

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.

Quando inizi a riscontrare il problema, tieni premuto il

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.

    
risposta data 07.08.2012 - 22:27
fonte
15

Apple sysdiagnose

Questo script di shell (su 10.8 e versioni precedenti) e il programma eseguibile con lo stesso nome su 10.9:

  • raccoglie informazioni diagnostiche a livello di sistema
  • è parte integrante di OS X Lion e maggiore
  • non è disponibile come download separato
  • non è open source (ho chiesto ad Apple di renderlo tale).

Preparazione per l'approccio solo tastiera a sysdiagnose

In Terminale, esegui il seguente comando.

sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.stackshot.plist
  • se viene richiesta una password, inserisci la password di amministratore per il sistema operativo
  • è una tantum, non c'è bisogno di ripetere il comando.

Prendi nota del seguente accordo chiave, ne avrai bisogno in seguito:

Controllo - Option - Comando - Maiusc -.

Diagnosi dal sistema

Quando si verifica un problema:

  1. usa l'accordo di chiave
  2. per almeno dieci secondi, non toccare niente
  3. consenti forse cinque o dieci minuti per completare tutte le parti della routine sysdiagnose - aspetta semplicemente il tempo che puoi (non ci saranno indicazioni sullo stato di avanzamento)
  4. Il Finder dovrebbe aprire una finestra sul risultato finale.

Eccezionalmente

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:

  1. nel Finder, vai a /private/var/tmp
  2. cerca un file o una cartella con un nome che inizi con sysdiagnose _
  3. se quel file o cartella esiste, spostalo in un posto conveniente - il tuo desktop, forse.

Suggerimenti

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 .

Analisi umana della diagnosi da parte del sistema

Suggerimento: a qualcuno potrebbe piacere fare una domanda separata sull'analisi dei risultati di sysdiagnose - una risposta più generalizzata potrebbe essere utile.

Se sysdiagnose_ ... dall'area /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.

Se sysdiagnose_ ... dall'area /tmp è una cartella

La presenza di una cartella sysdiagnose_… (non un file .tar.gz ) indica che:

  • la routine è stata interrotta prima del completamento; o
  • parte della routine non può essere completata.

All'interno dell'archivio / cartella

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 ...

Note tecniche e di altro tipo

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.

Informazioni di diagnostica e di utilizzo, altri file di interesse

Lasciati guidare dall'elenco dei registri in Console:

Aspettati di trovare file nei seguenti percorsi:

  • ~ / Library / Logs / DiagnosticReports
  • / Library / Logs / DiagnosticReports
  • ~ / Library / Logs
  • / Library / Logs
  • / private / var / log
risposta data 06.04.2013 - 18:49
fonte
0

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
    

core dumps

Per generare dump core di crash, vedi: Come generare core dump su macOS?

    
risposta data 01.11.2017 - 17:49
fonte

Leggi altre domande sui tag