summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Carlstrom <bdc@google.com>2010-10-18 13:58:25 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2010-10-18 13:58:25 -0700
commit1b04ed793a64ff1bf3cd2b71bee1fdfb228b44fe (patch)
treee49f893b2097bdff7a5b08976eb3baf0ec4dcb66
parent027610a76e67f39e3a435d68ec785a1cf09dcf9c (diff)
parent393b84c137fe52f42205cef7e63b7a04b4bfd789 (diff)
downloadframeworks_base-1b04ed793a64ff1bf3cd2b71bee1fdfb228b44fe.zip
frameworks_base-1b04ed793a64ff1bf3cd2b71bee1fdfb228b44fe.tar.gz
frameworks_base-1b04ed793a64ff1bf3cd2b71bee1fdfb228b44fe.tar.bz2
Merge "Extended android.os.Debug.dumpNativeHeap to include /proc/self/maps contents"
-rw-r--r--core/jni/android_os_Debug.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/core/jni/android_os_Debug.cpp b/core/jni/android_os_Debug.cpp
index 4a877d2..2297834 100644
--- a/core/jni/android_os_Debug.cpp
+++ b/core/jni/android_os_Debug.cpp
@@ -397,8 +397,22 @@ static void dumpNativeHeap(FILE* fp)
ptr += infoSize;
}
- fprintf(fp, "END\n");
free_malloc_leak_info(info);
+
+ fprintf(fp, "MAPS\n");
+ const char* maps = "/proc/self/maps";
+ FILE* in = fopen(maps, "r");
+ if (in == NULL) {
+ fprintf(fp, "Could not open %s\n", maps);
+ return;
+ }
+ char buf[BUFSIZ];
+ while (size_t n = fread(buf, sizeof(char), BUFSIZ, in)) {
+ fwrite(buf, sizeof(char), n, fp);
+ }
+ fclose(in);
+
+ fprintf(fp, "END\n");
}
#endif /*HAVE_ANDROID_OS*/