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), the Data Display Debugger (DDD), and Visual
Studio Code.
Terminal User Interface
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 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 TUI. Simply add -tui...