Cross GDB debugging
When we run a cross compiled GDB in the host that connects to a native gdbserver running on the target, it is referred to as cross debugging. This is the same scenario we saw in the Using the Eclipse IDE recipe in Chapter 4, Application Development, except that Eclipse was using the Target Communications Framework (TCF). Cross debugging has the advantage of not needing debug information on target images, as they are already available in the host.
This recipe will show how to use a cross GDB and gdbserver.
Getting ready
To include gdbserver in your target image, you can use an -sdk
image if there is one, or you can add the tools-debug
feature to your image by adding the following to your conf/local.conf
configuration file:
EXTRA_IMAGE_FEATURES += "tools-debug"
We will now build our images and program them in the target.
The images running on the target and the toolchain's sysroot
need to match, and the sysroot
needs to contain debug information on shared libraries and executables...