aboutsummaryrefslogtreecommitdiff
path: root/src/tools/linux/core2md/core2md.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/linux/core2md/core2md.cc')
-rw-r--r--src/tools/linux/core2md/core2md.cc18
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;
}