On Apple platforms.
I strongly advise against implementing your own crash reporter. It’s very easy to create a basic crash reporter that works well enough to debug simple problems. It’s impossible to implement a good crash reporter, one that’s reliable, binary compatible, and sufficient to debug complex problems. The bulk of this post is a low-level explanation of that impossibility.
PLCrashReporter is a standalone open-source library for generating crash reports on iOS. When I first wrote the library in 2008, it was the only option for automatically generating and gathering crash reports from an iOS application. Apple’s iOS crash reports were not available to developers, and existing crash reporters — such as Google’s excellent Breakpad — were not supported on iOS (Breakpad still isn’t).
Welcome to the PLCrashReporter blog post series. For those unfamiliar with this crash reporting library, it is defined as follows…
This is part two of our PLCrashReporter series. In this post, we will examine how crashes are created and learn more about specific crash types.
In this edition, I will discuss various ways of handling signals in Mac programs, a topic suggested by friend of the blog Landon Fuller.