diff options
Diffstat (limited to 'src/processor/microdump_processor.cc')
-rw-r--r-- | src/processor/microdump_processor.cc | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/src/processor/microdump_processor.cc b/src/processor/microdump_processor.cc index c1d8c281..2d3a9558 100644 --- a/src/processor/microdump_processor.cc +++ b/src/processor/microdump_processor.cc @@ -54,24 +54,18 @@ MicrodumpProcessor::MicrodumpProcessor(StackFrameSymbolizer* frame_symbolizer) MicrodumpProcessor::~MicrodumpProcessor() {} -ProcessResult MicrodumpProcessor::Process(const string µdump_contents, +ProcessResult MicrodumpProcessor::Process(Microdump *microdump, ProcessState* process_state) { assert(process_state); process_state->Clear(); - if (microdump_contents.empty()) { - BPLOG(ERROR) << "Microdump is empty."; - return PROCESS_ERROR_MINIDUMP_NOT_FOUND; - } - - Microdump microdump(microdump_contents); - process_state->modules_ = microdump.GetModules()->Copy(); + process_state->modules_ = microdump->GetModules()->Copy(); scoped_ptr<Stackwalker> stackwalker( Stackwalker::StackwalkerForCPU( &process_state->system_info_, - microdump.GetContext(), - microdump.GetMemory(), + microdump->GetContext(), + microdump->GetMemory(), process_state->modules_, /* unloaded_modules= */ NULL, frame_symbolizer_)); @@ -90,12 +84,12 @@ ProcessResult MicrodumpProcessor::Process(const string µdump_contents, } process_state->threads_.push_back(stack.release()); - process_state->thread_memory_regions_.push_back(microdump.GetMemory()); + process_state->thread_memory_regions_.push_back(microdump->GetMemory()); process_state->crashed_ = true; process_state->requesting_thread_ = 0; - process_state->system_info_ = *microdump.GetSystemInfo(); - process_state->crash_reason_ = microdump.GetCrashReason(); - process_state->crash_address_ = microdump.GetCrashAddress(); + process_state->system_info_ = *microdump->GetSystemInfo(); + process_state->crash_reason_ = microdump->GetCrashReason(); + process_state->crash_address_ = microdump->GetCrashAddress(); return PROCESS_OK; } |