Che cos'è il formato di file CRASH?
Un file .crash è un rapporto sugli errori Apple generato automaticamente quando un'applicazione o un processo di sistema si interrompe inaspettatamente su macOS, iOS, iPadOS, tvOS o watchOS. Il rapporto acquisisce lo stato del processo al momento del guasto, fornendo agli sviluppatori le informazioni necessarie per diagnosticare il bug sottostante.
I file .crash più vecchi (fino a macOS 11 Big Sur) sono in formato testo semplice UTF-8. Iniziano con un'intestazione strutturata che registra l'identificatore dell'incidente (un UUID), il modello hardware, la versione del sistema operativo, il nome del processo, il tipo di eccezione e il motivo della terminazione. Sotto l'intestazione si trovano i backtrace dello stack per thread - elenchi di indirizzi di chiamata di funzione - seguiti da una tabella di tutte le immagini binarie (framework e librerie) caricate nel processo al momento del crash, con i relativi indirizzi di caricamento in memoria e gli UUID di build.
A partire da macOS 12 Monterey (2021), Apple ha spostato il contenitore sottostante al formato .ips (Incident Progress Stream), un oggetto JSON. I file appaiono ancora con l'estensione .crash nel Finder e in Console.app per compatibilità con le versioni precedenti, ma il loro contenuto è ora un JSON strutturato con chiavi come cpuType, osVersion, threads e binaryImages.
I backtrace dello stack nei rapporti non simbolizzati mostrano indirizzi di memoria esadecimali grezzi. La conversione di questi in nomi di funzione leggibili richiede il pacchetto di simboli di debug .dSYM corrispondente per ogni binario elencato nel rapporto. Xcode Organizer simbolizza automaticamente i rapporti sui crash di iOS e tvOS quando è disponibile il file .dSYM corretto.
Su macOS, i rapporti sui crash sono memorizzati in ~/Library/Logs/DiagnosticReports/ per i processi utente e in /Library/Logs/DiagnosticReports/ per i processi di sistema. I log dei crash di iOS vengono recuperati tramite Xcode Organizer o la directory ~/Library/Logs/CrashReporter/MobileDevice/.
Sicurezza e incolumità
RISCHIO: LOWI file di rapporto crash non contengono codice eseguibile e non rappresentano di per sé un rischio per la sicurezza. Possono contenere dati sensibili per la privacy: nome utente (nei percorsi dei file), modello del dispositivo, nomi delle app e occasionalmente stringhe di argomenti o frammenti di memoria. Il processo di invio della diagnostica di Apple richiede il consenso dell'utente prima di inviare i rapporti sui crash ad Apple.
Dettagli del formato
in sintesi- Windows Error Reporting / Riferimento generico Crash Dump - Alcune app di terze parti (ad es. Unity, Electron) su Windows salvano anche riepiloghi di crash in testo semplice con estensione .crash, distinti dal formato Apple.
Programmi che aprono file CRASH
Dettagli tecnici
specifiche approfondite| Formato legacy | Testo semplice UTF-8 (macOS fino a Big Sur; iOS fino a iOS 15) |
| Formato moderno | Oggetto JSON (contenitore .ips rinominato .crash per compatibilità - macOS 12 Monterey+) |
| Firma file legacy | Intestazione «Incident Identifier: <UUID>» all'inizio del file |
| Firma file moderno | { all'offset byte 0 (oggetto JSON) |
| Campi intestazione chiave | Tipo/codici eccezione, motivo della terminazione, versione OS, modello hardware, nome processo e PID |
| Tracce dello stack | Backtrace per thread degli indirizzi di chiamata (nomi di funzione simbolizzati o esadecimale grezzo) |
| Elenco immagini binarie | Indirizzi di caricamento e UUID di tutti i framework e librerie caricati al momento del crash |
| Simbolizzazione | Gli indirizzi esadecimali grezzi vengono convertiti in nomi di funzione utilizzando i pacchetti di debug .dSYM corrispondenti |
| Percorso di archiviazione macOS | ~/Library/Logs/DiagnosticReports/ (processi utente) e /Library/Logs/DiagnosticReports/ (sistema) |
| Recupero iOS | Xcode Organizer (scheda Crashes) o ~/Library/Logs/CrashReporter/MobileDevice/ |
| Copertura piattaforma | macOS, iOS, iPadOS, tvOS, watchOS |
| Dimensione tipica del file | 10 KB - 500 KB |
| Rilasciato | Mac OS X 10.0 (2001); iOS crash reports since iPhone OS 2.0 (2008) |
| Ultima versione | JSON-based format (macOS 12 Monterey+, 2021) |
| Specifica | developer.apple.com |
Conversioni CRASH
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file CRASH.