aboutsummaryrefslogtreecommitdiff
path: root/src/google_breakpad
diff options
context:
space:
mode:
authornealsid <nealsid@4c0a9323-5329-0410-9bdc-e9ce6186880e>2010-03-03 01:29:04 +0000
committernealsid <nealsid@4c0a9323-5329-0410-9bdc-e9ce6186880e>2010-03-03 01:29:04 +0000
commit19374d263649a51c8bb56f2f01d3466905847670 (patch)
tree1c0c3d639bb651ce56fa57dcb6093910e2301cf3 /src/google_breakpad
parentBreakpad Linux dumper: Tolerate STABS data from code linked with --gc-sections. (diff)
downloadbreakpad-19374d263649a51c8bb56f2f01d3466905847670.tar.xz
Fix to cache NOT_FOUND results from symbol supplier on a per-minidump basis
http://breakpad.appspot.com/64001 R=ted.mielczarek, brdevmn A=nealsid git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@543 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/google_breakpad')
-rw-r--r--src/google_breakpad/processor/stackwalker.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/google_breakpad/processor/stackwalker.h b/src/google_breakpad/processor/stackwalker.h
index a475b230..72da76b0 100644
--- a/src/google_breakpad/processor/stackwalker.h
+++ b/src/google_breakpad/processor/stackwalker.h
@@ -41,12 +41,13 @@
#ifndef GOOGLE_BREAKPAD_PROCESSOR_STACKWALKER_H__
#define GOOGLE_BREAKPAD_PROCESSOR_STACKWALKER_H__
-#include <vector>
+#include <set>
#include "google_breakpad/common/breakpad_types.h"
namespace google_breakpad {
class CallStack;
+class CodeModule;
class CodeModules;
class MemoryRegion;
class MinidumpContext;
@@ -55,7 +56,7 @@ struct StackFrame;
class SymbolSupplier;
class SystemInfo;
-using std::vector;
+using std::set;
class Stackwalker {
@@ -139,6 +140,11 @@ class Stackwalker {
// The optional SymbolSupplier for resolving source line info.
SymbolSupplier *supplier_;
+
+ // A list of modules that we haven't found symbols for. We track
+ // this in order to avoid repeatedly looking them up again within
+ // one minidump.
+ set<std::string> no_symbol_modules_;
};