Chromium Code Reviews| Index: third_party/crashpad/crashpad/client/crashpad_client_win.cc |
| diff --git a/third_party/crashpad/crashpad/client/crashpad_client_win.cc b/third_party/crashpad/crashpad/client/crashpad_client_win.cc |
| index 7a3d0047a98ae4a9fca483c60135d16fbe550475..586d3feb64aa6d88a01a85b30de3ed889f17a430 100644 |
| --- a/third_party/crashpad/crashpad/client/crashpad_client_win.cc |
| +++ b/third_party/crashpad/crashpad/client/crashpad_client_win.cc |
| @@ -22,6 +22,7 @@ |
| #include <memory> |
| #include "base/atomicops.h" |
| +#include "base/debug/activity_tracker.h" |
| #include "base/logging.h" |
| #include "base/macros.h" |
| #include "base/scoped_generic.h" |
| @@ -114,6 +115,15 @@ extern "C" LONG __asan_unhandled_exception_filter(EXCEPTION_POINTERS* info); |
| #endif |
| LONG WINAPI UnhandledExceptionHandler(EXCEPTION_POINTERS* exception_pointers) { |
| + // Store the event in persistent tracking data. |
|
manzagop (departed)
2017/03/20 14:29:55
Perhaps add a "// DO NOT SUBMIT" to be safe.
bcwhite
2017/03/21 12:25:06
Does that actually do anything to prevent it going
bcwhite
2017/03/21 12:36:07
So it does! chromium_presubmit fails. Good to kn
|
| + base::debug::GlobalActivityTracker* tracker = |
| + base::debug::GlobalActivityTracker::Get(); |
| + if (tracker) { |
| + tracker->SetProcessPhase( |
| + base::debug::GlobalActivityTracker::PROCESS_UNHANDLED_EXCEPTION); |
| + tracker->RecordException(nullptr); |
| + } |
| + |
| #if defined(ADDRESS_SANITIZER) |
| // In ASan builds, delegate to the ASan exception filter. |
| LONG status = __asan_unhandled_exception_filter(exception_pointers); |