Crashpad should have an iOS client. This will be most dissimilar to the client
for any other operating system, because iOS requires everything to be
in-process.
The working idea here is that the handler will run in-process as a signal
handler, Mach exception handler, or both. (SIGABRT can’t be caught by a Mach
exception handler in-process, for example, so at least a signal handler will be
needed for abort(), etc.) Dedicated code (not the snapshot library) will write
a simple serialized version of crash state at crash time. This code will be
exception-safe (the snapshot library isn’t, and isn’t intended to run
in-process, and so it allocates memory with reckless abandon, etc.) This crash
state can be picked up on a future launch of the app, turned into a minidump or
whatever else (there will be a snapshot library reader for the simple
serialized format), and Crashpad’s uploader can deal with it on an in-process
thread.
Original issue reported on code.google.com by mark@chromium.org on 28 Mar 2015 at 3:21
Original issue reported on code.google.com by
mark@chromium.org
on 28 Mar 2015 at 3:21