aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiu.andrew.x@gmail.com <Liu.andrew.x@gmail.com>2015-08-11 16:05:48 +0000
committerLiu.andrew.x@gmail.com <Liu.andrew.x@gmail.com>2015-08-11 16:05:48 +0000
commit6a1a9067734ce1bb29451fc9f03772180c441437 (patch)
treefdae09531713fbe0205351abaa8115bb294546b0
parentWorkaround for range map overlaps caused by Android package relocation. (diff)
downloadbreakpad-6a1a9067734ce1bb29451fc9f03772180c441437.tar.xz
Change Print method of MinidumpLinuxMaps and MinidumpLinuxMapsList to print
contents of /proc/<pid>/maps instead of just the files mapped to memory. Review URL: https://codereview.chromium.org/1273123002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1481 4c0a9323-5329-0410-9bdc-e9ce6186880e
-rw-r--r--src/google_breakpad/processor/proc_maps_linux.h3
-rw-r--r--src/processor/minidump.cc2
-rw-r--r--src/processor/proc_maps_linux.cc1
3 files changed, 5 insertions, 1 deletions
diff --git a/src/google_breakpad/processor/proc_maps_linux.h b/src/google_breakpad/processor/proc_maps_linux.h
index 6ddeb038..22f9f6a4 100644
--- a/src/google_breakpad/processor/proc_maps_linux.h
+++ b/src/google_breakpad/processor/proc_maps_linux.h
@@ -45,6 +45,9 @@ struct MappedMemoryRegion {
// "[heap]" and "[stack]" are used to represent the location of the process'
// heap and stack, respectively.
string path;
+
+ // The line from /proc/<pid>/maps that this struct represents.
+ string line;
};
// Parses /proc/<pid>/maps input data and stores in |regions|. Returns true
diff --git a/src/processor/minidump.cc b/src/processor/minidump.cc
index 8042f014..02aa16b6 100644
--- a/src/processor/minidump.cc
+++ b/src/processor/minidump.cc
@@ -4004,7 +4004,7 @@ void MinidumpLinuxMaps::Print() {
BPLOG(ERROR) << "MinidumpLinuxMaps cannot print invalid data";
return;
}
- std::cout << GetPathname() << std::endl;
+ std::cout << region_.line << std::endl;
}
//
diff --git a/src/processor/proc_maps_linux.cc b/src/processor/proc_maps_linux.cc
index 72947286..3730acc3 100644
--- a/src/processor/proc_maps_linux.cc
+++ b/src/processor/proc_maps_linux.cc
@@ -94,6 +94,7 @@ bool ParseProcMaps(const std::string& input,
// Pushing then assigning saves us a string copy.
regions.push_back(region);
regions.back().path.assign(line + path_index);
+ regions.back().line.assign(line);
}
regions_out->swap(regions);