aboutsummaryrefslogtreecommitdiff
path: root/src/processor/minidump_processor.cc
diff options
context:
space:
mode:
authormmentovai <mmentovai@4c0a9323-5329-0410-9bdc-e9ce6186880e>2006-10-23 19:24:58 +0000
committermmentovai <mmentovai@4c0a9323-5329-0410-9bdc-e9ce6186880e>2006-10-23 19:24:58 +0000
commitd119a921ea611dc38cfcb7411759ddf2c688603f (patch)
tree392d79dada82458d74b010a4974ca09cb204211c /src/processor/minidump_processor.cc
parentUpdate comments to reflect HTTPS support, r=mark. (diff)
downloadbreakpad-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.cc18
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