aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre-Antoine Manzagol <manzagop@chromium.org>2016-11-10 09:03:31 -0500
committerMark Mentovai <mark@chromium.org>2016-11-10 14:46:53 +0000
commit4eb76cbc9e5a963fd99af3b5ad9ba4fc223f35bc (patch)
treeea5613ff3f40260dc98f2a6beb40d0738e26a0d0
parentAllow compiling the google-breakpad code using a global ::string class instea... (diff)
downloadbreakpad-4eb76cbc9e5a963fd99af3b5ad9ba4fc223f35bc.tar.xz
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 <mark@chromium.org>
-rw-r--r--src/google_breakpad/common/minidump_exception_mac.h6
-rw-r--r--src/google_breakpad/common/minidump_exception_win32.h5
-rw-r--r--src/processor/minidump_processor.cc6
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;