GDB user interfaces
GDB is controlled at a low level through the GDB machine interface, GDB/MI, which can be used to wrap GDB in a user interface or as part of a larger program, and it considerably extends the range of options available to you.
In this section, I will describe three that are well suited to debugging embedded targets: the Terminal User Interface (TUI), Data Display Debugger (DDD), and Visual Studio Code.
Terminal User Interface
The Terminal User Interface (TUI) is an optional part of the standard GDB package. The main feature is a code window that shows the line of code about to be executed, together with any breakpoints. It is a definite improvement on the list
command in command-line mode GDB.
The attraction of the TUI is that it just works without any extra setup, and since it is in text mode, it is possible to use over an SSH terminal session, for example, when running gdb
natively on a target. Most cross toolchains configure GDB with the TUI. Simply...