Wat is het CRASH-bestandsformaat?
Een .crash-bestand is een Apple-crashrapport dat automatisch wordt gegenereerd wanneer een applicatie of systeemproces onverwacht stopt op macOS, iOS, iPadOS, tvOS of watchOS. Het rapport legt de processtatus vast op het moment van de fout, waardoor ontwikkelaars de informatie krijgen die nodig is om de onderliggende bug te diagnosticeren.
Oudere .crash-bestanden (tot en met macOS 11 Big Sur) zijn platte UTF-8-tekst. Ze beginnen met een gestructureerde header die de incident-identificatie (een UUID), het hardwaremodel, de OS-versie, de procesnaam, het uitzonderingstype en de reden van beëindiging vastlegt. Onder de header bevinden zich stack-backtraces per thread - lijsten met adressen van functie-aanroepen - gevolgd door een tabel met alle binaire afbeeldingen (frameworks en bibliotheken) die op het moment van de crash in het proces waren geladen, inclusief hun geheugenlaadadressen en build-UUID's.
Sinds macOS 12 Monterey (2021) is Apple overgestapt op de onderliggende container naar het .ips (Incident Progress Stream)-formaat, een JSON-object. Bestanden verschijnen nog steeds met de extensie .crash in Finder en Console.app voor achterwaartse compatibiliteit, maar hun inhoud is nu gestructureerde JSON met sleutels zoals cpuType, osVersion, threads en binaryImages.
Stack-backtraces in niet-gesymboliseerde rapporten tonen ruwe hexadecimale geheugenadressen. Het omzetten daarvan naar leesbare functienamen vereist het bijbehorende .dSYM-foutopsporingspakket voor elk binair bestand dat in het rapport wordt vermeld. Xcode Organizer symboliseert iOS- en tvOS-crashrapporten automatisch wanneer de juiste .dSYM beschikbaar is.
Op macOS worden crashrapporten opgeslagen in ~/Library/Logs/DiagnosticReports/ voor gebruikersprocessen en /Library/Logs/DiagnosticReports/ voor systeemprocessen. iOS-crashlogs worden opgehaald via Xcode Organizer of de map ~/Library/Logs/CrashReporter/MobileDevice/.
Beveiliging & veiligheid
RISICO: LOWCrashrapportbestanden bevatten geen uitvoerbare code en vormen op zichzelf geen beveiligingsrisico. Ze kunnen privacygevoelige gegevens bevatten: gebruikersnaam (in bestandspaden), apparaatmodel, app-namen en incidenteel argumentreeksen of geheugenfragmenten. Het diagnostische indieningsproces van Apple vraagt toestemming aan de gebruiker voordat crashrapporten naar Apple worden verzonden.
Formaatdetails
in een notendop- Windows Error Reporting / Algemene Crash Dump Referentie - Sommige apps van derden (bijv. Unity, Electron) op Windows slaan ook crash-samenvattingen in platte tekst op met een .crash-extensie, losstaand van het formaat van Apple.
Programma's die CRASH-bestanden openen
Technische details
diepe specificaties| Verouderd formaat | Platte UTF-8-tekst (macOS tot en met Big Sur; iOS tot en met iOS 15) |
| Modern formaat | JSON-object (.ips-container hernoemd naar .crash voor compatibiliteit - macOS 12 Monterey+) |
| Verouderde bestandssignatuur | Incident Identifier: <UUID> header aan het begin van het bestand |
| Moderne bestandssignatuur | { op byte-offset 0 (JSON-object) |
| Belangrijkste header-velden | Uitzonderingstype/codes, reden van beëindiging, OS-versie, hardwaremodel, procesnaam en PID |
| Stack traces | Backtrace per thread van aanroepadressen (gesymboliseerde functienamen of ruwe hex) |
| Lijst met binaire afbeeldingen | Laadadressen en UUID's van alle frameworks en bibliotheken geladen op het moment van de crash |
| Symbolisatie | Ruwe hex-adressen worden omgezet naar functienamen met behulp van bijbehorende .dSYM-foutopsporingspakketten |
| macOS-opslagpad | ~/Library/Logs/DiagnosticReports/ (gebruikersprocessen) en /Library/Logs/DiagnosticReports/ (systeem) |
| iOS-ophaling | Xcode Organizer (tabblad Crashes) of ~/Library/Logs/CrashReporter/MobileDevice/ |
| Platformdekking | macOS, iOS, iPadOS, tvOS, watchOS |
| Typische bestandsgrootte | 10 KB - 500 KB |
| Uitgebracht | Mac OS X 10.0 (2001); iOS crash reports since iPhone OS 2.0 (2008) |
| Laatste versie | JSON-based format (macOS 12 Monterey+, 2021) |
| Specificatie | developer.apple.com |
CRASH conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over CRASH-bestanden.