GDB user interfaces
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
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:

Data display debugger
Data display debugger (DDD), is a simple standalone...