diff options
| author | Brian Carlstrom <bdc@google.com> | 2010-10-18 13:58:25 -0700 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-10-18 13:58:25 -0700 |
| commit | 1b04ed793a64ff1bf3cd2b71bee1fdfb228b44fe (patch) | |
| tree | e49f893b2097bdff7a5b08976eb3baf0ec4dcb66 | |
| parent | 027610a76e67f39e3a435d68ec785a1cf09dcf9c (diff) | |
| parent | 393b84c137fe52f42205cef7e63b7a04b4bfd789 (diff) | |
| download | frameworks_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.cpp | 16 |
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*/ |
