Skip to content

Repository files navigation

GitHub

CrashReportKit Inspector

CrashReportKit Inspector is a macOS companion app for viewing and symbolically resolving crash reports generated by CrashReportKit.

Select a CrashReportKit JSON report and its matching dSYM bundle. The app matches binary UUIDs, resolves available stack-frame symbols, and opens an inspection window containing a readable crash summary and the resulting symbolicated JSON.

Download

ko-fi

Screenshot 2026-08-09 at 9 22 23 pm

Features

  • Native file pickers for CrashReportKit JSON reports and dSYM bundles
  • dSYM matching using binary UUIDs
  • Offline symbolication using Apple's atos and dwarfdump tools
  • Summary of the app, build, exception, device, operating system, and suspected faulting thread
  • Important stack frames from the suspected crashing thread
  • Pretty-printed raw JSON with offline symbols
  • Clear warnings when a dSYM does not match or frames cannot be symbolicated

The source report is never modified. Symbolication results are added only to the in-memory JSON displayed by the Inspector.

Requirements

  • macOS 26 or later
  • A JSON report generated by CrashReportKit
  • A dSYM matching the crashed app build

Usage

  1. Open CrashReportKit Inspector.
  2. Choose a CrashReportKit .json report.
  3. Choose the .dSYM bundle produced for the corresponding app build.
  4. Select Inspect.
  5. Use the Summary tab for the important crash details or Raw JSON for the complete symbolicated report.

Finding the correct dSYM

The dSYM must come from the exact build that produced the crash. For archived applications, it is normally available in the archive's dSYMs directory:

MyApp.xcarchive/dSYMs/MyApp.app.dSYM

The Inspector compares the dSYM UUID with UUIDs recorded in the report. A dSYM from another build cannot correctly symbolicate its addresses.

Symbolicated JSON

When an address is resolved, the Inspector adds an offlineSymbol property to its frame. It also adds top-level symbolication metadata:

{
  "offlineSymbolication": {
    "dSYM": "MyApp.app.dSYM",
    "matchedImages": 1,
    "symbolicatedFrames": 8
  }
}

Existing report fields and on-device symbols remain intact.

Limitations

  • The report's faulting thread is inferred by CrashReportKit and may not always be conclusive.
  • An app dSYM symbols only matching application binaries. It does not generally provide symbols for Apple system frameworks.
  • Optimisation and inlining can affect the source locations and function names returned during symbolication.
  • CrashReportKit JSON is a custom format and is not an Apple .ips crash report.

Privacy

Inspection and symbolication happen locally on the Mac. CrashReportKit Inspector does not upload reports or dSYMs.

License

Available under the same MIT license as CrashReportKit.

About

macOS app to inspect CrashReportKit reports

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Contributors

Languages