Clickable does not separate build caches for different build types. Therefore make sure to create a clean debug build, e.g. via clickable build --debug --clean --arch arm64.

Desktop Mode

The easiest way to do GDB Debugging via Clickable is desktop mode and can be started by running clickable desktop --gdb.

Alternatively a GDB Server can be started with clickable desktop --gdbserver <port> (just choose any port, e.g. 3333). Check for an option to do GDB Remote Debugging in your IDE and connect to localhost:<port>. To connect a GDB Client run gdb <app-binary> -ex 'target remote localhost:<port>'.

To analyze errors in memory access run clickable desktop --valgrind.

On Device

Two terminals are required to do debugging on the device, one to start the gdbserver and the other one to start gdb. In the first terminal run clickable gdbserver and in the second one clickable gdb. This method is limited to apps that are started via their own binary file.

For Debugging in your IDE, run clickable gdb --script debug.gdbinit. This creates a GDB script that can be configured as init script in your IDE’s GDB Remote Debugging feature. To execute the script from a gdb shell (e.g. gdb-multiarch) run source debug.gdbinit.

For detailed instructions on how to use gdb check out gdb documentation.