diff options
Diffstat (limited to 'src/client/linux/minidump_writer')
-rw-r--r-- | src/client/linux/minidump_writer/minidump_writer.cc | 17 | ||||
-rw-r--r-- | src/client/linux/minidump_writer/minidump_writer.h | 17 |
2 files changed, 19 insertions, 15 deletions
diff --git a/src/client/linux/minidump_writer/minidump_writer.cc b/src/client/linux/minidump_writer/minidump_writer.cc index a9d4927b..35a291db 100644 --- a/src/client/linux/minidump_writer/minidump_writer.cc +++ b/src/client/linux/minidump_writer/minidump_writer.cc @@ -46,19 +46,19 @@ #include "client/linux/minidump_writer/minidump_writer.h" #include "client/minidump_file_writer-inl.h" +#include <ctype.h> #include <errno.h> #include <fcntl.h> #if !defined(__ANDROID__) #include <link.h> #endif #include <stdio.h> -#include <unistd.h> -#include <ctype.h> #if !defined(__ANDROID__) #include <sys/ucontext.h> #include <sys/user.h> #endif #include <sys/utsname.h> +#include <unistd.h> #include <algorithm> @@ -72,10 +72,11 @@ #include "client/linux/handler/exception_handler.h" #include "client/linux/minidump_writer/line_reader.h" #include "client/linux/minidump_writer/linux_dumper.h" -#include "client/linux/minidump_writer/linux_core_dumper.h" #include "client/linux/minidump_writer/linux_ptrace_dumper.h" #include "client/linux/minidump_writer/minidump_extension_linux.h" +#include "client/minidump_file_writer.h" #include "common/linux/linux_libc_support.h" +#include "google_breakpad/common/minidump_format.h" #include "third_party/lss/linux_syscall_support.h" // Minidump defines register structures which are different from the raw @@ -1336,12 +1337,10 @@ bool WriteMinidump(const char* filename, pid_t crashing_process, return writer.Dump(); } -bool WriteMinidumpFromCore(const char* filename, - const char* core_path, - const char* procfs_override) { - MappingList mappings; - LinuxCoreDumper dumper(0, core_path, procfs_override); - MinidumpWriter writer(filename, NULL, mappings, &dumper); +bool WriteMinidump(const char* filename, + const MappingList& mappings, + LinuxDumper* dumper) { + MinidumpWriter writer(filename, NULL, mappings, dumper); if (!writer.Init()) return false; return writer.Dump(); diff --git a/src/client/linux/minidump_writer/minidump_writer.h b/src/client/linux/minidump_writer/minidump_writer.h index 731249e3..e79eb79b 100644 --- a/src/client/linux/minidump_writer/minidump_writer.h +++ b/src/client/linux/minidump_writer/minidump_writer.h @@ -36,12 +36,19 @@ #include <list> #include <utility> +#include "client/linux/minidump_writer/linux_dumper.h" #include "google_breakpad/common/minidump_format.h" namespace google_breakpad { +class ExceptionHandler; + +struct MappingEntry { + MappingInfo first; + u_int8_t second[sizeof(MDGUID)]; +}; + // 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 @@ -62,11 +69,9 @@ bool WriteMinidump(const char* filename, pid_t crashing_process, const void* blob, size_t blob_size, const MappingList& mappings); -// Write a minidump to the filesystem. Same as above, but uses the given -// core file and procfs directory to generate the minidump post mortem. -bool WriteMinidumpFromCore(const char* filename, - const char* core_path, - const char* procfs_override); +bool WriteMinidump(const char* filename, + const MappingList& mappings, + LinuxDumper* dumper); } // namespace google_breakpad |