diff --git a/src/google_breakpad/common/minidump_exception_win32.h b/src/google_breakpad/common/minidump_exception_win32.h index e4cd59ed..6fa3fba4 100644 --- a/src/google_breakpad/common/minidump_exception_win32.h +++ b/src/google_breakpad/common/minidump_exception_win32.h @@ -100,6 +100,9 @@ typedef enum { /* STATUS_STACK_BUFFER_OVERRUN */ MD_EXCEPTION_CODE_WIN_HEAP_CORRUPTION = 0xc0000374, /* STATUS_HEAP_CORRUPTION */ + 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 /* Per http://support.microsoft.com/kb/185294, generated by Visual C++ compiler */ diff --git a/src/processor/minidump_processor.cc b/src/processor/minidump_processor.cc index 3ff19518..33b4a128 100644 --- a/src/processor/minidump_processor.cc +++ b/src/processor/minidump_processor.cc @@ -1186,6 +1186,9 @@ string MinidumpProcessor::GetCrashReason(Minidump *dump, uint64_t *address) { case MD_EXCEPTION_CODE_WIN_HEAP_CORRUPTION: reason = "EXCEPTION_HEAP_CORRUPTION"; break; + case MD_EXCEPTION_OUT_OF_MEMORY: + reason = "Out of Memory"; + break; case MD_EXCEPTION_CODE_WIN_UNHANDLED_CPP_EXCEPTION: reason = "Unhandled C++ Exception"; break;