android/docs/DebugInstructions.md
gradle.properties or in your $HOME/.gradle/gradle.properties file set the following:mullvad.app.build.keepDebugSymbols=true
mullvad.app.build.replaceRustPathPrefix=false
Run -> Edit configurations...app configuration is selected.Debugger tab, select Dual (Java + Native)View Breakpoints... icon in the debug view.+ -> Symbolic Breakpoints and enter a function name in the Symbol name field.Android Studio should now break on the function you selected.
NOTE: When running LLDB, Android Studio can sometimes get into a state where it will try to
connect to the debugger when running the app normally, which blocks the app from starting.
To fix this run adb shell am clear-debug-app.
By default, the normal debugging support in Android Studio such as clicking the gutter to set line breakpoints only work when debugging C/C++ and not Rust code.
To fix this, install the following Android Studio plugin: https://github.com/kl/gutter-breakpoints-rust-plugin
Rust ships with the rust-lldb shell script (https://github.com/rust-lang/rust/blob/main/src/etc/rust-lldb) which
improves the LLDB experience when debugging Rust code, for example by being able to see the text value when
inspecting a String value.
To enable this when debugging in Android Studio, first find out your rustc sysroot by running
rustc --print sysroot. Then go to Debugger -> LLDB Startup Commands and enter the following
two commands:
command script import SYSROOT_PATH/lib/rustlib/etc/lldb_lookup.py
command source SYSROOT_PATH/lib/rustlib/etc/lldb_commands