Skip to content

backtrace-labs/plcrashreporter

 
 

Repository files navigation

Backtrace-PLCrashReporter

Supported platforms CocoaPods compatible

PLCrashReporter is a reliable open source library that provides an in-process live crash reporting framework for use on iOS, macOS and tvOS. The library detects crashes and generates reports to help your investigation and troubleshooting with the information of application, system, process, thread, etc. as well as stack traces.

Features

  • Uses only supported and public APIs/ABIs for crash reporting.
  • The most accurate stack unwinding available, using DWARF and Apple Compact Unwind frame data.
  • First released in 2008, and used in hundreds of thousands of apps. PLCrashReporter has seen a tremendous amount of user testing.
  • Does not interfere with debugging in lldb/gdb
  • Easy to integrate with existing or custom crash reporting services.
  • Backtraces for all active threads are provided.
  • Provides full register state for the crashed thread.

Prerequisites

  • Xcode 10 or above.
  • Minimum supported platforms: iOS 10, macOS 10.10, tvOS 10.

Installation

via CocoaPods

To use CocoaPods just add this to your Podfile:

pod 'Backtrace-PLCrashReporter'

Note: It is required to specify use_frameworks! in your Podfile.

Building

Prerequisites

  • A Mac running macOS compliant with Xcode requirements
  • Xcode 10 or above

Setup

Setup script will make sure all required dependencies are installed, including: RubyGems, Homebrew packages, Git submodules, etc. The goal is to make sure all required dependencies are installed. Also, it is used to set up a project in an initial state.

  • Open a new window for your Terminal.

  • Go to PLCrashReporter's root folder and run

    sh scripts/setup.sh

Third party tools

  • Doxygen to generate the documentation.
  • GraphViz to generate the documentation.
  • protobuf-c to convert Protocol Buffer .proto files to C descriptor code.
  • XcodeGen to generate Xcode project.

To validate pod

CI build script will validate pod specifications.

  • Open a new window for your Terminal.

  • Go to PLCrashReporter's root folder and run

    sh scripts/cibuild.sh

Packages

No packages published

Languages

  • Objective-C 34.0%
  • C 25.8%
  • C++ 15.2%
  • Assembly 13.4%
  • Objective-C++ 11.0%
  • Shell 0.2%
  • Other 0.4%