Skip to content

Convert numeric addresses to symbols with callStackSymbols and dSYM.

License

Notifications You must be signed in to change notification settings

naru-jpn/Symbolicator

Repository files navigation

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

About

Convert numeric addresses to symbols with callStackSymbols and dSYM.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages