Debugging¶
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.