My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members
Featured
Downloads
Wiki pages
Links

Description

Plausible CrashReporter provides an in-process crash reporting framework for use on both the iPhone and Mac OS X, and powers many of the crash reporting services available for iOS, including HockeyApp, Atlassian JMC, BugSense, and Crashlytics.

PLCrashReporter is provided by Plausible Labs.

Crash reports are output as protobuf-encoded messages, and may be decoded using the CrashReporter library or any Google Protobuf decoder. The CrashReporter library handles both uncaught exceptions and fatal signals.

Features:

  • Implemented as a in-process fully async-safe signal handler.
  • Does not interfere with debugging in gdb
  • Handles both uncaught Objective-C exceptions and fatal signals (SIGSEGV, SIGBUS, etc)
  • Backtraces for all active threads are provided.
  • Provides full register state for the crashed thread.

The following platforms are currently supported:

  • Mac OS X 10.5+ (x86-32, ppc, experimental x86-64)
  • iPhone OS 2.0+: (armv6, armv7)
  • iPhone Simulator 2.0+ (x86-32)

The initial 1.0 release does not contain a native Mac OS X or iPhone feedback GUI component. Any such code contributions or funding of specific features is always welcome.

Note: In the original 1.0 release, a stack overflow will hit the maximum crash report size limits, resulting in truncation of the generated report. This issue has been resolved in trunk.

If you require support for additional features, platforms, or architectures, please feel free to contact us regarding our development services.

Download

1.0 (September 2009)

1.1-beta1 (September 2011)

Examples

An example of iPhone integration and a crash report server are available via the (externally maintained) CrashReporterDemo github project.

Decoding Crash Reports

In addition to the in-library decoding support, you may use the included plcrashutil binary to convert crash reports to apple's standard iPhone text format. This may be passed to the symbolicate tool.

./bin/plcrashutil convert --format=iphone example_report.plcrash | symbolicatecrash

Future library releases may include built-in re-usable formatters, for outputting alternative formats directly from the phone.

Building

To build an embeddable framework:

user@max:~/plcrashreporter-trunk> xcodebuild -configuration Release -target 'Disk Image'

This will output a new release disk image containing an embeddable Mac OS X framework and an iPhone static framework in build/Release/PLCrashReporter-{version}.dmg

Licensing

The majority of the PLCrashReporter code is provided under the MIT license. The protobuf-c library, as well as PLCrashLogWriterEncoding.c are licensed under the Apache License.

Powered by Google Project Hosting