diff options
author | mmentovai <mmentovai@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2006-10-23 19:24:58 +0000 |
---|---|---|
committer | mmentovai <mmentovai@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2006-10-23 19:24:58 +0000 |
commit | d119a921ea611dc38cfcb7411759ddf2c688603f (patch) | |
tree | 392d79dada82458d74b010a4974ca09cb204211c /src/processor/minidump_processor.cc | |
parent | Update comments to reflect HTTPS support, r=mark. (diff) | |
download | breakpad-d119a921ea611dc38cfcb7411759ddf2c688603f.tar.xz |
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
Diffstat (limited to 'src/processor/minidump_processor.cc')
-rw-r--r-- | src/processor/minidump_processor.cc | 18 |
1 files changed, 8 insertions, 10 deletions
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<Stackwalker> 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 |