From 4e15f7d2308444677a3b5ccb9207cebacfd8ba60 Mon Sep 17 00:00:00 2001 From: Joshua Peraza Date: Fri, 3 Jan 2020 12:00:23 -0800 Subject: Extract the exception record from the minidump Change-Id: Ia622560960513e24b21184532f2272a09b9cdc95 Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1986339 Reviewed-by: Ivan Penkov --- src/processor/minidump_processor.cc | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/processor') diff --git a/src/processor/minidump_processor.cc b/src/processor/minidump_processor.cc index b1ddbb82..4ea4cb70 100644 --- a/src/processor/minidump_processor.cc +++ b/src/processor/minidump_processor.cc @@ -116,6 +116,25 @@ ProcessResult MinidumpProcessor::Process( process_state->crash_reason_ = GetCrashReason( dump, &process_state->crash_address_); + + process_state->exception_record_.set_code( + exception->exception()->exception_record.exception_code, + // TODO(ivanpe): Populate description. + /* description = */ ""); + process_state->exception_record_.set_flags( + exception->exception()->exception_record.exception_flags, + // TODO(ivanpe): Populate description. + /* description = */ ""); + process_state->exception_record_.set_nested_exception_record_address( + exception->exception()->exception_record.exception_record); + process_state->exception_record_.set_address(process_state->crash_address_); + for (uint32_t i = 0; + i < exception->exception()->exception_record.number_parameters; i++) { + process_state->exception_record_.add_parameter( + exception->exception()->exception_record.exception_information[i], + // TODO(ivanpe): Populate description. + /* description = */ ""); + } } // This will just return an empty string if it doesn't exist. -- cgit v1.2.1