aboutsummaryrefslogtreecommitdiff
path: root/src/google_breakpad/processor/stackwalker.h
diff options
context:
space:
mode:
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