Convert numeric addresses to symbols with callStackSymbols and dSYM

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


  • 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