diff options
Diffstat (limited to 'src/tools/linux/core2md/core2md.cc')
-rw-r--r-- | src/tools/linux/core2md/core2md.cc | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/tools/linux/core2md/core2md.cc b/src/tools/linux/core2md/core2md.cc index c8060b5e..641496ee 100644 --- a/src/tools/linux/core2md/core2md.cc +++ b/src/tools/linux/core2md/core2md.cc @@ -32,12 +32,24 @@ #include <stdio.h> #include "client/linux/minidump_writer/minidump_writer.h" +#include "client/linux/minidump_writer/linux_core_dumper.h" + +using google_breakpad::MappingList; +using google_breakpad::LinuxCoreDumper; static int ShowUsage(const char* argv0) { fprintf(stderr, "Usage: %s <core file> <procfs dir> <output>\n", argv0); return 1; } +bool WriteMinidumpFromCore(const char* filename, + const char* core_path, + const char* procfs_override) { + MappingList mappings; + LinuxCoreDumper dumper(0, core_path, procfs_override); + return google_breakpad::WriteMinidump(filename, mappings, &dumper); +} + int main(int argc, char *argv[]) { if (argc != 4) { return ShowUsage(argv[0]); @@ -46,9 +58,9 @@ int main(int argc, char *argv[]) { const char* core_file = argv[1]; const char* procfs_dir = argv[2]; const char* minidump_file = argv[3]; - if (!google_breakpad::WriteMinidumpFromCore(minidump_file, - core_file, - procfs_dir)) { + if (!WriteMinidumpFromCore(minidump_file, + core_file, + procfs_dir)) { fprintf(stderr, "Unable to generate minidump.\n"); return 1; } |