aboutsummaryrefslogtreecommitdiff
path: root/src/google_breakpad/processor/stackwalker.h
diff options
context:
space:
mode:
authorivan.penkov@gmail.com <ivan.penkov@gmail.com@4c0a9323-5329-0410-9bdc-e9ce6186880e>2013-03-06 19:32:13 +0000
committerivan.penkov@gmail.com <ivan.penkov@gmail.com@4c0a9323-5329-0410-9bdc-e9ce6186880e>2013-03-06 19:32:13 +0000
commit60b5f7c7e9a5c0856ce6f0e61af03fcb1fbb54bb (patch)
tree65a16d840ce1a5f78ddb206cfb8555928f71e126 /src/google_breakpad/processor/stackwalker.h
parentAllow building symbol dumping without STABS support (diff)
downloadbreakpad-60b5f7c7e9a5c0856ce6f0e61af03fcb1fbb54bb.tar.xz
Keeping track of modules without symbols during crash report processing.
http://breakpad.appspot.com/534002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1126 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/google_breakpad/processor/stackwalker.h')
-rw-r--r--src/google_breakpad/processor/stackwalker.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/google_breakpad/processor/stackwalker.h b/src/google_breakpad/processor/stackwalker.h
index 9e678e3c..f09291fe 100644
--- a/src/google_breakpad/processor/stackwalker.h
+++ b/src/google_breakpad/processor/stackwalker.h
@@ -43,6 +43,7 @@
#include <set>
#include <string>
+#include <vector>
#include "common/using_std_string.h"
#include "google_breakpad/common/breakpad_types.h"
@@ -57,6 +58,7 @@ class MinidumpContext;
class StackFrameSymbolizer;
using std::set;
+using std::vector;
class Stackwalker {
public:
@@ -66,7 +68,15 @@ class Stackwalker {
// GetCallerFrame. The frames are further processed to fill all available
// data. Returns true if the stackwalk completed, or false if it was
// interrupted by SymbolSupplier::GetSymbolFile().
- bool Walk(CallStack* stack);
+ // Upon return, modules_without_symbols will be populated with pointers to
+ // the code modules (CodeModule*) that DON'T have symbols.
+ // modules_without_symbols DOES NOT take ownership of the code modules.
+ // The lifetime of these code modules is the same as the lifetime of the
+ // CodeModules passed to the StackWalker constructor (which currently
+ // happens to be the lifetime of the Breakpad's ProcessingState object).
+ // There is a check for duplicate modules so no duplicates are expected.
+ bool Walk(CallStack* stack,
+ vector<const CodeModule*>* modules_without_symbols);
// Returns a new concrete subclass suitable for the CPU that a stack was
// generated on, according to the CPU type indicated by the context