aboutsummaryrefslogtreecommitdiff
path: root/src/client/linux/minidump_writer/minidump_writer.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/linux/minidump_writer/minidump_writer.h')
-rw-r--r--src/client/linux/minidump_writer/minidump_writer.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/client/linux/minidump_writer/minidump_writer.h b/src/client/linux/minidump_writer/minidump_writer.h
index e79eb79b..4ff3b469 100644
--- a/src/client/linux/minidump_writer/minidump_writer.h
+++ b/src/client/linux/minidump_writer/minidump_writer.h
@@ -51,6 +51,16 @@ struct MappingEntry {
// A list of <MappingInfo, GUID>
typedef std::list<MappingEntry> MappingList;
+// These entries store a list of memory regions that the client wants included
+// in the minidump.
+struct AppMemory {
+ AppMemory(void *ptr, size_t length) : ptr(ptr), length(length) {}
+
+ void *ptr;
+ size_t length;
+};
+typedef std::list<AppMemory> AppMemoryList;
+
// Write a minidump to the filesystem. This function does not malloc nor use
// libc functions which may. Thus, it can be used in contexts where the state
// of the heap may be corrupt.
@@ -64,13 +74,16 @@ typedef std::list<MappingEntry> MappingList;
bool WriteMinidump(const char* filename, pid_t crashing_process,
const void* blob, size_t blob_size);
-// This overload also allows passing a list of known mappings.
+// This overload also allows passing a list of known mappings and
+// a list of additional memory regions to be included in the minidump.
bool WriteMinidump(const char* filename, pid_t crashing_process,
const void* blob, size_t blob_size,
- const MappingList& mappings);
+ const MappingList& mappings,
+ const AppMemoryList& appdata);
bool WriteMinidump(const char* filename,
const MappingList& mappings,
+ const AppMemoryList& appdata,
LinuxDumper* dumper);
} // namespace google_breakpad