diff options
author | Brian Carlstrom <bdc@google.com> | 2010-10-17 23:40:43 -0700 |
---|---|---|
committer | Brian Carlstrom <bdc@google.com> | 2010-10-17 23:40:43 -0700 |
commit | 393b84c137fe52f42205cef7e63b7a04b4bfd789 (patch) | |
tree | 4fa178b0928e883c34ee39425775d5a19faf9899 /core/jni/android_os_Debug.cpp | |
parent | d609279c33f7d5587e5fa0bd954bff846623e246 (diff) | |
download | frameworks_base-393b84c137fe52f42205cef7e63b7a04b4bfd789.zip frameworks_base-393b84c137fe52f42205cef7e63b7a04b4bfd789.tar.gz frameworks_base-393b84c137fe52f42205cef7e63b7a04b4bfd789.tar.bz2 |
Extended android.os.Debug.dumpNativeHeap to include /proc/self/maps contents
Change-Id: I86da98bc48111007d8226d8d0dbc7be470bde877
Diffstat (limited to 'core/jni/android_os_Debug.cpp')
-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*/ |