GDB is controlled at a low level through the GDB machine interface, GDB/MI, which is used to wrap GDB in a user interface or as part of a larger program and considerably extends the range of options available to you.
I have only mentioned those which have features that are useful in embedded development.
Terminal user interface (TUI), is an optional part of the standard GDB package. The main feature is a code window which 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 and doesn't need any extra set-up and, since it is in text mode, it is possible to use over an ssh terminal session when running gdb
natively on a target. Most cross toolchains configure GDB with TUI. Simply add -tui
to the command line and you will see the following: