Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 18f36856 authored by Colin Cross's avatar Colin Cross
Browse files

Document using libmemunreachable on an app

Document dumpsys meminfo --unreachable, and how to enable
malloc_debug backtraces on a single app.

Test: none
Change-Id: I649afdfff1c7438f74950395639b06c39cae3ca0
parent 3464bc4b
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -12,6 +12,27 @@ In the default (zero-overhead) mode, the returned data on leaks is limited to th
Usage
-------

### In Android apps ###

libmemunreachble is loaded by zygote and can be triggered with `dumpsys -t 600 meminfo --unreachable [process]`.

To enable malloc\_debug backtraces on allocations for a single app process on a userdebug device, use:
```
adb root
adb shell setprop libc.debug.malloc.program app_process
adb shell setprop wrap.[process] "\$\@"
adb shell setprop libc.debug.malloc.options backtrace=4
```

Kill and restart the app, trigger the leak, and then run `dumpsys -t 600 meminfo --unreachable [process]`.

To disable malloc\_debug:
```
adb shell setprop libc.debug.malloc.options "''"
adb shell setprop libc.debug.malloc.program "''"
adb shell setprop wrap.[process]  "''"
```

### C interface ###

#### `bool LogUnreachableMemory(bool log_contents, size_t limit)` ####