qychen1982 / crashpad

Automatically exported from code.google.com/p/crashpad
0 stars 0 forks source link

iOS client #31

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
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