mirror of
https://github.com/chromium/crashpad.git
synced 2024-12-27 15:32:10 +08:00
25e67e285c
Some sinkholes use objc_exception_throw instead of rethrow, which gives the preprocessor a second, incorrect, attempt to process the NSException. This also means if the processor misses the first sinkhole, on the second attempt the original throwing stack will be missing. Instead, track the original NSException and ignore any followup calls to the ObjcExceptionPreprocessor with the same NSException. Also creates a ExceptionPreprocessorState class to manage the complex types. This will be used in a followup CL to finalize caught NSExceptions using the uncaught handler. Bug: 1300171 Change-Id: I1f9f2c7ee79c7a16585103f04831217979e9332b Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3530246 Reviewed-by: Robert Sesek <rsesek@chromium.org> Commit-Queue: Justin Cohen <justincohen@chromium.org>