OLD | NEW |
1 // Copyright (c) 2010 Google Inc. | 1 // Copyright (c) 2010 Google Inc. |
2 // All rights reserved. | 2 // All rights reserved. |
3 // | 3 // |
4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
5 // modification, are permitted provided that the following conditions are | 5 // modification, are permitted provided that the following conditions are |
6 // met: | 6 // met: |
7 // | 7 // |
8 // * Redistributions of source code must retain the above copyright | 8 // * Redistributions of source code must retain the above copyright |
9 // notice, this list of conditions and the following disclaimer. | 9 // notice, this list of conditions and the following disclaimer. |
10 // * Redistributions in binary form must reproduce the above | 10 // * Redistributions in binary form must reproduce the above |
(...skipping 25 matching lines...) Expand all Loading... |
36 // Stackwalker assembles these StackFrame strucutres into a CallStack. | 36 // Stackwalker assembles these StackFrame strucutres into a CallStack. |
37 // | 37 // |
38 // Author: Mark Mentovai | 38 // Author: Mark Mentovai |
39 | 39 |
40 | 40 |
41 #ifndef GOOGLE_BREAKPAD_PROCESSOR_STACKWALKER_H__ | 41 #ifndef GOOGLE_BREAKPAD_PROCESSOR_STACKWALKER_H__ |
42 #define GOOGLE_BREAKPAD_PROCESSOR_STACKWALKER_H__ | 42 #define GOOGLE_BREAKPAD_PROCESSOR_STACKWALKER_H__ |
43 | 43 |
44 #include <set> | 44 #include <set> |
45 #include <string> | 45 #include <string> |
| 46 |
| 47 #include "common/using_std_string.h" |
46 #include "google_breakpad/common/breakpad_types.h" | 48 #include "google_breakpad/common/breakpad_types.h" |
47 #include "google_breakpad/processor/code_modules.h" | 49 #include "google_breakpad/processor/code_modules.h" |
48 #include "google_breakpad/processor/memory_region.h" | 50 #include "google_breakpad/processor/memory_region.h" |
49 | 51 |
50 namespace google_breakpad { | 52 namespace google_breakpad { |
51 | 53 |
52 class CallStack; | 54 class CallStack; |
53 class MinidumpContext; | 55 class MinidumpContext; |
54 class SourceLineResolverInterface; | 56 class SourceLineResolverInterface; |
55 struct StackFrame; | 57 struct StackFrame; |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
182 // StackFrame (or StackFrame subclass), ownership of which is taken by | 184 // StackFrame (or StackFrame subclass), ownership of which is taken by |
183 // the caller. | 185 // the caller. |
184 virtual StackFrame* GetCallerFrame(const CallStack *stack) = 0; | 186 virtual StackFrame* GetCallerFrame(const CallStack *stack) = 0; |
185 | 187 |
186 // The optional SymbolSupplier for resolving source line info. | 188 // The optional SymbolSupplier for resolving source line info. |
187 SymbolSupplier *supplier_; | 189 SymbolSupplier *supplier_; |
188 | 190 |
189 // A list of modules that we haven't found symbols for. We track | 191 // A list of modules that we haven't found symbols for. We track |
190 // this in order to avoid repeatedly looking them up again within | 192 // this in order to avoid repeatedly looking them up again within |
191 // one minidump. | 193 // one minidump. |
192 set<std::string> no_symbol_modules_; | 194 set<string> no_symbol_modules_; |
193 | 195 |
194 // The maximum number of frames Stackwalker will walk through. | 196 // The maximum number of frames Stackwalker will walk through. |
195 // This defaults to 1024 to prevent infinite loops. | 197 // This defaults to 1024 to prevent infinite loops. |
196 static u_int32_t max_frames_; | 198 static u_int32_t max_frames_; |
197 }; | 199 }; |
198 | 200 |
199 | 201 |
200 } // namespace google_breakpad | 202 } // namespace google_breakpad |
201 | 203 |
202 | 204 |
203 #endif // GOOGLE_BREAKPAD_PROCESSOR_STACKWALKER_H__ | 205 #endif // GOOGLE_BREAKPAD_PROCESSOR_STACKWALKER_H__ |
OLD | NEW |