diff options
Diffstat (limited to 'src/client/linux/minidump_writer/minidump_writer.h')
-rw-r--r-- | src/client/linux/minidump_writer/minidump_writer.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/client/linux/minidump_writer/minidump_writer.h b/src/client/linux/minidump_writer/minidump_writer.h index 579f68cd..156ca35f 100644 --- a/src/client/linux/minidump_writer/minidump_writer.h +++ b/src/client/linux/minidump_writer/minidump_writer.h @@ -33,8 +33,17 @@ #include <stdint.h> #include <unistd.h> +#include <list> +#include <utility> + +#include "google_breakpad/common/minidump_format.h" + namespace google_breakpad { +// A list of <MappingInfo, GUID> +typedef std::pair<struct MappingInfo, u_int8_t[sizeof(MDGUID)]> MappingEntry; +typedef std::list<MappingEntry> MappingList; + // 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. @@ -48,6 +57,11 @@ namespace google_breakpad { 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. +bool WriteMinidump(const char* filename, pid_t crashing_process, + const void* blob, size_t blob_size, + const MappingList& mappings); + } // namespace google_breakpad #endif // CLIENT_LINUX_MINIDUMP_WRITER_MINIDUMP_WRITER_H_ |