Details
-
Type:
Improvement
-
Status: Open
-
Priority:
Trivial
-
Resolution: Unresolved
-
Affects Version/s: None
-
Fix Version/s: 1.4
-
Component/s: Crash Log Writer
-
Labels:None
Description
On iOS and Mac OS X, Apple has defined a set of private mechanisms for applications to vend additional data to the crash reporter:
- __crashreporter_info__
- __DATA,__crash_info (I believe this is Mac OS X only)
We should investigate whether:
- These mechanisms can be used safely from PLCrashReporter; specifically, whether we can rely on any implicit ABI guarantees here, and whether this would introduce reliance on private symbols (which, due to the risk of App Store rejection, is not something we can reasonably do in the mainline project), or
- If there are alternative mechanisms to gather similar or equivalent data.
It's clear that we can safely dereference the data in question, as we have mechanisms for safely extracting/dereferencing potentially invalid data at runtime. The question is whether we can do so while providing useful reliable data and not exposing library integrators to risk.
As a fallback option, exposing the internal APIs required to implement this is on the 2014 roadmap; we combining that with support for writing arbitrary key/value pairs would make this possible to implement externally with relatively little work.
Here's a super rough proof of concept.