1# Debugging the payload on microdroid
2
3Like a normal adb device, you can debug native processes running on a
4Microdroid-base VM using [`lldbclient.py`][lldbclient] script, either by
5running a new process, or attaching to an existing process.  Use `vm_shell`
6tool above, and then run `lldbclient.py`.
7
8```sh
9adb -s localhost:8000 shell 'mount -o remount,exec /data'
10development/scripts/lldbclient.py -s localhost:8000 --chroot . --user '' \
11    (-p PID | -n NAME | -r ...)
12```
13
14**Note:** We need to pass `--chroot .` to skip verifying device, because
15microdroid doesn't match with the host's lunch target. We need to also pass
16`--user ''` as there is no `su` binary in microdroid.
17
18[lldbclient]: https://android.googlesource.com/platform/development/+/refs/heads/main/scripts/lldbclient.py
19