Tema Janna La licenza non è convalidata, vai alla pagina delle opzioni del tema per convalidare la licenza, è necessaria una singola licenza per ogni nome di dominio.

Come leggere i rapporti sugli arresti anomali su Mac OS per la risoluzione dei problemi

Di solito, le app che si arrestano in modo anomalo su un Mac sono molto rare. Ma quando ciò accade, potresti voler tenere traccia di questi problemi. E se sei uno sviluppatore, devi capire perché la tua app si arresta in modo anomalo. Ecco come leggere e ordinare i rapporti sugli arresti anomali di macOS in base alla lingua codificata.

Immagine di Come leggere i rapporti sugli arresti anomali su Mac OS per la risoluzione dei problemi | leggere-rapporti-crash-eroe-DzTechs

Apri rapporti sugli arresti anomali

Immagine di Come leggere i rapporti sugli arresti anomali su Mac OS per la risoluzione dei problemi | come leggere i rapporti sugli arresti anomali 1-DzTechs

Quando un'app si arresta in modo anomalo sul Mac, genera automaticamente un rapporto di arresto anomalo. Lo vedrai apparire dopo l'arresto anomalo con una finestra di avviso che dice "[Applicazione] si è interrotta in modo imprevisto". Questo rapporto sull'arresto anomalo è disponibile per la lettura immediata in questa finestra facendo clic sul pulsante "Segnala...". Il rapporto sull'arresto anomalo si trova anche nell'app Console.

1. Apri l'app Console digitando "Console" in Spotlight o vai su "Applicazione -> Utilità -> Console.app".

Immagine di Come leggere i rapporti sugli arresti anomali su Mac OS per la risoluzione dei problemi | come leggere i rapporti sugli arresti anomali 2-DzTechs

2. Fare clic su "Rapporti utente" nel menu a sinistra, quindi fare clic sul rapporto di arresto anomalo che si desidera visualizzare. Tutti questi file terminano con ".crash" e includono la data e l'app interrotta nel titolo. I dettagli del rapporto sull'arresto anomalo sono disponibili nel riquadro a destra.

Immagine di Come leggere i rapporti sugli arresti anomali su Mac OS per la risoluzione dei problemi | console-leggi-report-crash-2-e1521219301577-DzTechs

Leggi i rapporti sugli arresti anomali di Mac OS

Esaminiamo il rapporto sull'arresto anomalo dall'alto verso il basso.

Cos'è che si blocca?

Immagine di Come leggere i rapporti sugli arresti anomali su Mac OS per la risoluzione dei problemi | console-leggi-report-crash-3-DzTechs

La prima parte del rapporto sull'arresto anomalo ti mostrerà se un processo o un'applicazione "si arresta in modo anomalo". La parte più importante per uno strumento di risoluzione dei problemi è il nome del processo.

Process: aText [11473]

Path: /Applications/aText.app/Contents/MacOS/aText

Identifier: com.trankynam.aText

Version: 2.19 (62)

Code Type: X86-64 (Native)

Parent Process: ??? [1]

Responsible: aText [11473]

User ID: 501

Quando sono avvenute le vacanze?

Immagine di Come leggere i rapporti sugli arresti anomali su Mac OS per la risoluzione dei problemi | console-leggi-report-crash-4-DzTechs

La seconda parte ci dice quando si è verificato il guasto. Fornisce anche alcune informazioni sul tuo sistema.

Date/Time: 2018-03-15 00:58:10.552 -0400

OS Version: Mac OS X 10.12.6 (16G1036)

Report Version: 12

Anonymous UUID: 6C985CFD-6975-3F30-50EB-0713315F5090

 

Time Awake Since Boot: 630000 seconds

 

System Integrity Protection: enabled

Cosa ha causato il malfunzionamento?

Immagine di Come leggere i rapporti sugli arresti anomali su Mac OS per la risoluzione dei problemi | console-leggi-report-crash-5-DzTechs

La parte successiva è la più illuminante. Il "Tipo di eccezione" offerto dall'app ci dice cosa ha causato il malfunzionamento. Il registro riporta anche quale thread è andato in crash: in questo caso, il thread 0.

Crashed Thread: 0 Dispatch queue: com.apple.main-thread

 

Exception Type: EXC_BAD_ACCESS (SIGSEGV)

Exception Codes: KERN_INVALID_ADDRESS at 0x000040dedeadbec0

Exception Note: EXC_CORPSE_NOTIFY

 

Termination Signal: Segmentation fault: 11

Termination Reason: Namespace SIGNAL, Code 0xb

Terminating Process: exc handler [0]

Liste di mele Alcuni tipi comuni di eccezioni Nella sua documentazione tecnica:

Scarso accesso alla memoria (EXC_BAD_ACCESS / SIGSEGV / SIGBUS) – Il programma sta tentando di accedere alla memoria in modo errato o con un indirizzo non valido. Con un codice che spiega il problema di memoria.

Uscita anomala (EXC_CRASH / SIGABRT) - Uscita anomala, solitamente causata da un'eccezione C++ non sospesa e da una chiamata ad abort()

Trace Trap (EXC_BREAKPOINT / SIGTRAP) – Come SIGABRT, ma questa terminazione offre al debugger collegato l'opportunità di interrompere il processo a un punto di interruzione e tracciare l'errore.

Istruzioni illegali (EXC_BAD_INSTRUCTION / SIGILL) – L'elaborazione ha emesso un'elaborazione che non è stata compresa o non ha potuto essere elaborata.

Esci (SIGQUIT) – Il processo è stato terminato da un altro processo con privilegi sufficienti. Di solito, il processo di monitoraggio pone fine al processo di negligenza.

Termina (SIGKILL) - Il processo è stato terminato su richiesta del sistema. Verrà aggiunto un codice di uscita per spiegare l'eccezione.

Come possiamo vedere dal crash report, l'applicazione ha tentato di accedere alla memoria non in quarantena. Ciò è dovuto a un errore di programmazione nell'applicazione o a una condizione utente insolita che causa la mappatura errata della memoria dell'applicazione.

Cosa porta a malfunzionamenti?

Immagine di Come leggere i rapporti sugli arresti anomali su Mac OS per la risoluzione dei problemi | console-leggi-report-crash-6-DzTechs

Successivamente, vediamo un elenco cronologico inverso di ciò che provoca l'arresto anomalo. Questi sono ordinati per thread, a partire dal thread 0.

Ci sono quattro colonne in questo rapporto. Il primo riporta il numero dell'evento in ordine cronologico inverso, a partire da 0. Il secondo è l'ID del processo. Il terzo è l'indirizzo del processo in memoria. Il quarto è il nome dell'attività del programma.

Questo "annulla" può essere alquanto sconcertante. Sono "simbolici", nel senso che alcuni indirizzi di memoria sono stati sostituiti da nomi di funzioni o attività applicative. A volte questo non può essere fatto completamente, lasciando indirizzi di memoria illeggibili disseminati del rapporto.

Lo vediamo nel rapporto sull'arresto anomalo sopra: com.trankynam.aText non è token. Anche con la codifica completa, lo sfondo può essere difficile da leggere. Gli sviluppatori di software a volte includono note utili su attività ed eventi dell'applicazione. Altre volte, sono indirizzi crittografati o un codice numerico. Se riesci a capire il simbolismo, potresti essere in grado di capire cosa sta succedendo. Ma per quanto possibile, dovrai codificare tu stesso l'applicazione per comprendere il backtrace.

Conclusione: è utile?

Se sei uno sviluppatore di software, è essenziale leggere i rapporti sugli arresti anomali. Questo ti aiuta a capire quale parte della tua app sta causando problemi e perché. Se sei un utente, non sono utili. Ma se si verifica un arresto anomalo costante, i rapporti sugli arresti anomali possono aiutarti a risolvere il problema o collaborare con lo sviluppatore per risolvere il problema. È possibile che il codice di errore venga risolto in modo utile tramite Google oppure è possibile inviarlo all'assistenza tecnica con le informazioni corrette. Se vuoi dettagli drastici, puoi leggere tutto a riguardo all'indirizzo Nota tecnica Apple sugli arresti anomali.

Vai al pulsante in alto