From d119a921ea611dc38cfcb7411759ddf2c688603f Mon Sep 17 00:00:00 2001 From: mmentovai Date: Mon, 23 Oct 2006 19:24:58 +0000 Subject: Make stack_frame_info vector hold linked_ptrs instead of objects; make Stackwalker::Walk create and return a CallStack instead of filling a caller-supplied one (#54). r=bryner Interface change: Stackwalker::Walk and MinidumpProcessor::Process now return a new CallStack*. http://groups.google.com/group/airbag-dev/browse_thread/thread/d2bad5d7c115c3fe git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@45 4c0a9323-5329-0410-9bdc-e9ce6186880e --- src/processor/minidump_processor.cc | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'src/processor/minidump_processor.cc') diff --git a/src/processor/minidump_processor.cc b/src/processor/minidump_processor.cc index 2972fc5c..20609fb6 100644 --- a/src/processor/minidump_processor.cc +++ b/src/processor/minidump_processor.cc @@ -44,43 +44,41 @@ MinidumpProcessor::MinidumpProcessor(SymbolSupplier *supplier) MinidumpProcessor::~MinidumpProcessor() { } -bool MinidumpProcessor::Process(const string &minidump_file, - CallStack *stack) { +CallStack* MinidumpProcessor::Process(const string &minidump_file) { Minidump dump(minidump_file); if (!dump.Read()) { - return false; + return NULL; } MinidumpException *exception = dump.GetException(); if (!exception) { - return false; + return NULL; } MinidumpThreadList *threads = dump.GetThreadList(); if (!threads) { - return false; + return NULL; } // TODO(bryner): get all the threads MinidumpThread *thread = threads->GetThreadByID(exception->GetThreadID()); if (!thread) { - return false; + return NULL; } MinidumpMemoryRegion *thread_memory = thread->GetMemory(); if (!thread_memory) { - return false; + return NULL; } auto_ptr walker( Stackwalker::StackwalkerForCPU(exception->GetContext(), thread_memory, dump.GetModuleList(), supplier_)); if (!walker.get()) { - return false; + return NULL; } - walker->Walk(stack); - return true; + return walker->Walk(); } } // namespace google_airbag -- cgit v1.2.1