From 4eb76cbc9e5a963fd99af3b5ad9ba4fc223f35bc Mon Sep 17 00:00:00 2001 From: Pierre-Antoine Manzagol Date: Thu, 10 Nov 2016 09:03:31 -0500 Subject: Add a crash reason string for the simulated crashpad exception code BUG= Change-Id: I19a1abf1d00f208943db1c362cc426ca8bd2068e Reviewed-on: https://chromium-review.googlesource.com/409632 Reviewed-by: Mark Mentovai --- src/google_breakpad/common/minidump_exception_mac.h | 6 ++++-- src/google_breakpad/common/minidump_exception_win32.h | 5 ++++- src/processor/minidump_processor.cc | 6 ++++++ 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/google_breakpad/common/minidump_exception_mac.h b/src/google_breakpad/common/minidump_exception_mac.h index 91c1c097..a42a1522 100644 --- a/src/google_breakpad/common/minidump_exception_mac.h +++ b/src/google_breakpad/common/minidump_exception_mac.h @@ -34,7 +34,7 @@ * * Author: Mark Mentovai * Split into its own file: Neal Sidhwaney */ - + #ifndef GOOGLE_BREAKPAD_COMMON_MINIDUMP_EXCEPTION_MAC_H__ #define GOOGLE_BREAKPAD_COMMON_MINIDUMP_EXCEPTION_MAC_H__ @@ -65,8 +65,10 @@ typedef enum { /* EXC_SYSCALL */ MD_EXCEPTION_MAC_MACH_SYSCALL = 8, /* EXC_MACH_SYSCALL */ - MD_EXCEPTION_MAC_RPC_ALERT = 9 + MD_EXCEPTION_MAC_RPC_ALERT = 9, /* EXC_RPC_ALERT */ + MD_EXCEPTION_MAC_SIMULATED = 0x43507378 + /* Fake exception code used by Crashpad's SimulateCrash ('CPsx'). */ } MDExceptionMac; /* For (MDException).exception_flags. Breakpad minidump extension for Mac OS X diff --git a/src/google_breakpad/common/minidump_exception_win32.h b/src/google_breakpad/common/minidump_exception_win32.h index 385bfaef..4b5d57c8 100644 --- a/src/google_breakpad/common/minidump_exception_win32.h +++ b/src/google_breakpad/common/minidump_exception_win32.h @@ -105,9 +105,12 @@ typedef enum { MD_EXCEPTION_OUT_OF_MEMORY = 0xe0000008, /* Exception thrown by Chromium allocators to indicate OOM. See base/process/memory.h in Chromium for rationale. */ - MD_EXCEPTION_CODE_WIN_UNHANDLED_CPP_EXCEPTION = 0xe06d7363 + MD_EXCEPTION_CODE_WIN_UNHANDLED_CPP_EXCEPTION = 0xe06d7363, /* Per http://support.microsoft.com/kb/185294, generated by Visual C++ compiler */ + MD_EXCEPTION_CODE_WIN_SIMULATED = 0x0517a7ed + /* Fake exception code used by Crashpad's + CrashpadClient::DumpWithoutCrash. */ } MDExceptionCodeWin; diff --git a/src/processor/minidump_processor.cc b/src/processor/minidump_processor.cc index f15e3115..e80ebc38 100644 --- a/src/processor/minidump_processor.cc +++ b/src/processor/minidump_processor.cc @@ -1028,6 +1028,9 @@ string MinidumpProcessor::GetCrashReason(Minidump *dump, uint64_t *address) { reason = "EXC_RPC_ALERT / "; reason.append(flags_string); break; + case MD_EXCEPTION_MAC_SIMULATED: + reason = "Simulated Exception"; + break; } break; } @@ -1195,6 +1198,9 @@ string MinidumpProcessor::GetCrashReason(Minidump *dump, uint64_t *address) { case MD_EXCEPTION_CODE_WIN_UNHANDLED_CPP_EXCEPTION: reason = "Unhandled C++ Exception"; break; + case MD_EXCEPTION_CODE_WIN_SIMULATED: + reason = "Simulated Exception"; + break; default: BPLOG(INFO) << "Unknown exception reason " << reason; break; -- cgit v1.2.1