Index: src/google_breakpad/processor/minidump.h |
diff --git a/src/google_breakpad/processor/minidump.h b/src/google_breakpad/processor/minidump.h |
index 2b5025e4ff55740dc9306e97d4068fd970f7e498..88a3926aa61eee8a4dc436f8ea52b97dec9892b5 100644 |
--- a/src/google_breakpad/processor/minidump.h |
+++ b/src/google_breakpad/processor/minidump.h |
@@ -151,6 +151,8 @@ class MinidumpStream : public MinidumpObject { |
// that implements MinidumpStream can compare expected_size to a |
// known size as an integrity check. |
virtual bool Read(uint32_t expected_size) = 0; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(MinidumpStream); |
}; |
@@ -191,6 +193,8 @@ class MinidumpContext : public DumpContext { |
// for access to data about the minidump file itself, such as whether |
// it should be byte-swapped. |
Minidump* minidump_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(MinidumpContext); |
}; |
@@ -358,6 +362,8 @@ class MinidumpThreadList : public MinidumpStream { |
// The list of threads. |
MinidumpThreads* threads_; |
uint32_t thread_count_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(MinidumpThreadList); |
}; |
@@ -392,7 +398,14 @@ class MinidumpModule : public MinidumpObject, |
virtual string debug_file() const; |
virtual string debug_identifier() const; |
virtual string version() const; |
- virtual const CodeModule* Copy() const; |
+ virtual CodeModule* Copy() const; |
+ |
+ // Getter and setter for shrink_down_delta. This is used when the address |
+ // range for a module is shrunk down due to address range conflicts with |
+ // other modules. The base_address and size fields are not updated and they |
+ // should always reflect the original values (reported in the minidump). |
+ virtual uint64_t shrink_down_delta() const; |
+ virtual void SetShrinkDownDelta(uint64_t shrink_down_delta); |
// The CodeView record, which contains information to locate the module's |
// debugging information (pdb). This is returned as uint8_t* because |
@@ -501,6 +514,13 @@ class MinidumpModuleList : public MinidumpStream, |
virtual const MinidumpModule* GetModuleAtIndex(unsigned int index) const; |
virtual const CodeModules* Copy() const; |
+ // Returns a vector of all modules which address ranges needed to be shrunk |
+ // down due to address range conflicts with other modules. |
+ virtual vector<linked_ptr<const CodeModule> > GetShrunkRangeModules() const; |
+ |
+ // Returns true, if module address range shrink is enabled. |
+ virtual bool IsModuleShrinkEnabled() const; |
+ |
// Print a human-readable representation of the object to stdout. |
void Print(); |
@@ -525,6 +545,8 @@ class MinidumpModuleList : public MinidumpStream, |
MinidumpModules *modules_; |
uint32_t module_count_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(MinidumpModuleList); |
}; |
@@ -587,6 +609,8 @@ class MinidumpMemoryList : public MinidumpStream { |
// The list of regions. |
MemoryRegions *regions_; |
uint32_t region_count_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(MinidumpMemoryList); |
}; |
@@ -626,6 +650,8 @@ class MinidumpException : public MinidumpStream { |
MDRawExceptionStream exception_; |
MinidumpContext* context_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(MinidumpException); |
}; |
// MinidumpAssertion wraps MDRawAssertionInfo, which contains information |
@@ -666,6 +692,8 @@ class MinidumpAssertion : public MinidumpStream { |
string expression_; |
string function_; |
string file_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(MinidumpAssertion); |
}; |
@@ -719,6 +747,8 @@ class MinidumpSystemInfo : public MinidumpStream { |
// A string identifying the CPU vendor, if known. |
const string* cpu_vendor_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(MinidumpSystemInfo); |
}; |
@@ -752,6 +782,8 @@ class MinidumpMiscInfo : public MinidumpStream { |
string daylight_name_; |
string build_string_; |
string dbg_bld_str_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(MinidumpMiscInfo); |
}; |
@@ -784,6 +816,8 @@ class MinidumpBreakpadInfo : public MinidumpStream { |
bool Read(uint32_t expected_size_); |
MDRawBreakpadInfo breakpad_info_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(MinidumpBreakpadInfo); |
}; |
// MinidumpMemoryInfo wraps MDRawMemoryInfo, which provides information |
@@ -854,6 +888,8 @@ class MinidumpMemoryInfoList : public MinidumpStream { |
MinidumpMemoryInfos* infos_; |
uint32_t info_count_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(MinidumpMemoryInfoList); |
}; |
// MinidumpLinuxMaps wraps information about a single mapped memory region |
@@ -1061,6 +1097,9 @@ class Minidump { |
// Print a human-readable representation of the object to stdout. |
void Print(); |
+ // Is the OS Android. |
+ bool IsAndroid(); |
+ |
private: |
// MinidumpStreamInfo is used in the MinidumpStreamMap. It lets |
// the Minidump object locate interesting streams quickly, and |
@@ -1074,6 +1113,9 @@ class Minidump { |
// Pointer to the stream if cached, or NULL if not yet populated |
MinidumpStream* stream; |
+ |
+ private: |
+ DISALLOW_COPY_AND_ASSIGN(MinidumpStreamInfo); |
}; |
typedef vector<MDRawDirectory> MinidumpDirectoryEntries; |
@@ -1121,6 +1163,8 @@ class Minidump { |
// construction or after a failed Read(); true following a successful |
// Read(). |
bool valid_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(Minidump); |
}; |