The previous section addressed using GDB remotely for debugging purposes, which is the most usual case due to the inherent hardware limitations on many embedded devices. However, debugging in the target hardware itself is also possible with more powerful devices. This section describes what you need to do in order to support using GDB to debug on the target hardware.
To support this kind of debugging, you need do the following:
Ensure that GDB is on the target.
You can do this by adding "gdb" to
IMAGE_INSTALL
:
IMAGE_INSTALL_append = " gdb"
Alternatively, you can add "tools-debug" to
IMAGE_FEATURES
:
IMAGE_FEATURES_append = " tools-debug"
Ensure that debug symbols are present.
You can make sure these symbols are present by
installing -dbg
:
IMAGE_INSTALL_append = " packagename
-dbg"
Alternatively, you can do the following to include all the debug symbols:
IMAGE_FEATURES_append = " dbg-pkgs"
local.conf
file, you will reduce
optimization from
FULL_OPTIMIZATION
of "-O2" to
DEBUG_OPTIMIZATION
of "-O -fno-omit-frame-pointer":
DEBUG_BUILD = "1"Consider that this will reduce the application's performance and is recommended only for debugging purposes.