meminfo: Add Smaps(), showmap and friends.
Needed by showmap and also android_s_Debug to classify each allocation
into multiple heaps.
The APIs added are:
ForEachVmaFromFile - Global API to parse a file expected to be in the
same format as /proc/<pid>/smaps and make a callback for each VMA found.
ProcMemInfo::ForEachVma - Same as 'ForEachVmaFromFile' but for a
ProcMemInfo object corresponding to a process(pid).
ProcMemInfo::Smaps - Wrapper to ProcMemInfo::ForEachVma, except the
function collects 'struct Vma' in a member vector and returns the
reference for the same.
Added showmap2 using the APIs and the corresponding tests the same time.
Bug: 111694435
Test: showmap_test.sh
Test: libmeminfo_test 1
Change-Id: I3065809cf94ecf3da88529809701035c47a8ce34
Signed-off-by: Sandeep Patil <sspatil@google.com>
diff --git a/libmeminfo/tools/Android.bp b/libmeminfo/tools/Android.bp
index 1f93494..c852bbb 100644
--- a/libmeminfo/tools/Android.bp
+++ b/libmeminfo/tools/Android.bp
@@ -53,3 +53,17 @@
"libmeminfo",
],
}
+
+cc_binary {
+ name: "showmap2",
+ cflags: [
+ "-Wall",
+ "-Werror",
+ ],
+
+ srcs: ["showmap.cpp"],
+ shared_libs: [
+ "libbase",
+ "libmeminfo",
+ ],
+}