Remote vs. native debugging

To be able to debug Embedded Linux systems with low memory footprint GDB is extended to be run from a remote development host by connecting to a minimal debug agent called gdbserver for user space debugging and kgdb or kgdboe for kernel debugging. The communication can be done through RS232, Ethernet, or even USB.

This technique allows the developer to keep both the debug symbol copies of the binaries and the source code just on the host system.

In contrast, native debugging can be done on the target system too. A native GDB is also available on Garz & Fricke Yocto systems. However, this is more complicated since the directories for the symbol files and the source files must be made available from the SDK through e.g. a network file system.

So the recommended way for debugging is remote debugging out of the Yocto SDK that is shipped with Seco NE Yocto systems.