Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: src/google_breakpad/processor/process_state.h

Issue 2060663002: Server-side workaround to handle overlapping modules. (Closed) Base URL: https://chromium.googlesource.com/breakpad/breakpad.git@master
Patch Set: Fix whitespace. Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/google_breakpad/processor/minidump.h ('k') | src/processor/basic_code_module.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2006, Google Inc. 1 // Copyright (c) 2006, 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 21 matching lines...) Expand all
32 // Author: Mark Mentovai 32 // Author: Mark Mentovai
33 33
34 #ifndef GOOGLE_BREAKPAD_PROCESSOR_PROCESS_STATE_H__ 34 #ifndef GOOGLE_BREAKPAD_PROCESSOR_PROCESS_STATE_H__
35 #define GOOGLE_BREAKPAD_PROCESSOR_PROCESS_STATE_H__ 35 #define GOOGLE_BREAKPAD_PROCESSOR_PROCESS_STATE_H__
36 36
37 #include <string> 37 #include <string>
38 #include <vector> 38 #include <vector>
39 39
40 #include "common/using_std_string.h" 40 #include "common/using_std_string.h"
41 #include "google_breakpad/common/breakpad_types.h" 41 #include "google_breakpad/common/breakpad_types.h"
42 #include "google_breakpad/processor/code_modules.h"
43 #include "google_breakpad/processor/minidump.h"
42 #include "google_breakpad/processor/system_info.h" 44 #include "google_breakpad/processor/system_info.h"
43 #include "google_breakpad/processor/minidump.h" 45 #include "processor/linked_ptr.h"
44 46
45 namespace google_breakpad { 47 namespace google_breakpad {
46 48
47 using std::vector; 49 using std::vector;
48 50
49 class CallStack; 51 class CallStack;
50 class CodeModules; 52 class CodeModules;
51 53
52 enum ExploitabilityRating { 54 enum ExploitabilityRating {
53 EXPLOITABILITY_HIGH, // The crash likely represents 55 EXPLOITABILITY_HIGH, // The crash likely represents
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 string crash_reason() const { return crash_reason_; } 104 string crash_reason() const { return crash_reason_; }
103 uint64_t crash_address() const { return crash_address_; } 105 uint64_t crash_address() const { return crash_address_; }
104 string assertion() const { return assertion_; } 106 string assertion() const { return assertion_; }
105 int requesting_thread() const { return requesting_thread_; } 107 int requesting_thread() const { return requesting_thread_; }
106 const vector<CallStack*>* threads() const { return &threads_; } 108 const vector<CallStack*>* threads() const { return &threads_; }
107 const vector<MemoryRegion*>* thread_memory_regions() const { 109 const vector<MemoryRegion*>* thread_memory_regions() const {
108 return &thread_memory_regions_; 110 return &thread_memory_regions_;
109 } 111 }
110 const SystemInfo* system_info() const { return &system_info_; } 112 const SystemInfo* system_info() const { return &system_info_; }
111 const CodeModules* modules() const { return modules_; } 113 const CodeModules* modules() const { return modules_; }
114 const vector<linked_ptr<const CodeModule> >* shrunk_range_modules() const {
115 return &shrunk_range_modules_;
116 }
112 const vector<const CodeModule*>* modules_without_symbols() const { 117 const vector<const CodeModule*>* modules_without_symbols() const {
113 return &modules_without_symbols_; 118 return &modules_without_symbols_;
114 } 119 }
115 const vector<const CodeModule*>* modules_with_corrupt_symbols() const { 120 const vector<const CodeModule*>* modules_with_corrupt_symbols() const {
116 return &modules_with_corrupt_symbols_; 121 return &modules_with_corrupt_symbols_;
117 } 122 }
118 ExploitabilityRating exploitability() const { return exploitability_; } 123 ExploitabilityRating exploitability() const { return exploitability_; }
119 124
120 private: 125 private:
121 // MinidumpProcessor and MicrodumpProcessor are responsible for building 126 // MinidumpProcessor and MicrodumpProcessor are responsible for building
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 vector<CallStack*> threads_; 170 vector<CallStack*> threads_;
166 vector<MemoryRegion*> thread_memory_regions_; 171 vector<MemoryRegion*> thread_memory_regions_;
167 172
168 // OS and CPU information. 173 // OS and CPU information.
169 SystemInfo system_info_; 174 SystemInfo system_info_;
170 175
171 // The modules that were loaded into the process represented by the 176 // The modules that were loaded into the process represented by the
172 // ProcessState. 177 // ProcessState.
173 const CodeModules *modules_; 178 const CodeModules *modules_;
174 179
180 // The modules which virtual address ranges were shrunk down due to
181 // virtual address conflicts.
182 vector<linked_ptr<const CodeModule> > shrunk_range_modules_;
183
175 // The modules that didn't have symbols when the report was processed. 184 // The modules that didn't have symbols when the report was processed.
176 vector<const CodeModule*> modules_without_symbols_; 185 vector<const CodeModule*> modules_without_symbols_;
177 186
178 // The modules that had corrupt symbols when the report was processed. 187 // The modules that had corrupt symbols when the report was processed.
179 vector<const CodeModule*> modules_with_corrupt_symbols_; 188 vector<const CodeModule*> modules_with_corrupt_symbols_;
180 189
181 // The exploitability rating as determined by the exploitability 190 // The exploitability rating as determined by the exploitability
182 // engine. When the exploitability engine is not enabled this 191 // engine. When the exploitability engine is not enabled this
183 // defaults to EXPLOITABILITY_NOT_ANALYZED. 192 // defaults to EXPLOITABILITY_NOT_ANALYZED.
184 ExploitabilityRating exploitability_; 193 ExploitabilityRating exploitability_;
185 }; 194 };
186 195
187 } // namespace google_breakpad 196 } // namespace google_breakpad
188 197
189 #endif // GOOGLE_BREAKPAD_PROCESSOR_PROCESS_STATE_H__ 198 #endif // GOOGLE_BREAKPAD_PROCESSOR_PROCESS_STATE_H__
OLDNEW
« no previous file with comments | « src/google_breakpad/processor/minidump.h ('k') | src/processor/basic_code_module.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698