Symbolicator

Convert numeric addresses to symbols with callStackSymbols and dSYM files.

Installation

Supports Swift Package Manager.

Dependent libraries

Usage

Create Symbolicator

let path: String = {path_of_dsyms_directory_on_your_mac}
let symbolicator = try Symbolicator(dSYMsDirectoryPath: path)

Prepare records from device architecture and call stack as dladdr array

let architecture: String = {arm64_or_arm64e}
let callStack: Record<DLADDR> = ...
let Record(architecture: architecture, callStack: callStack)

See also example project. Records is created in CSVParser.swift.

Symbolicate records

let result: [Record<SymbolicatedDLADDR>] = symbolicator.symbolicate(records: records)

Aggregate records (Sum up same kind crashes and sort)

let aggregated: [(count: Int, callStack: String)] = result.aggregate()

Example Project

Example

  • Drag & Drop appDsyms directory and csv file describing crash call stack.
  • Sample csv file and appDsyms is in Assets at Releases of this repository.

License

MIT

GitHub

https://github.com/naru-jpn/Symbolicator