CSE 351: The Hardware/Software Interface

Spring 2018 Course Website Return home »

GDB (Gnu DeBugger) Resources

GDB is an immensely useful tool to help you debug your C programs.

The time you spend getting familiar with GDB will be an excellent investment.



Here are some code samples for playing with GDB with some example commands you can try:

Text User Interface

Text User Interface (TUI) mode of GDB can nicely show your code and the value of registers as you debug! Its use is entirely optional for CSE 351, but we wanted you to be aware of it as it may help some of you.

Opening TUI Mode

Most TUI commands will automatically start TUI mode, but you can also explicitly open GDB in TUI mode using:

[attu]$ gdb -tui <filename>

Layout Views

Of particular interest, you can bring up the disassembly and registers view using:

(gdb) layout asm
(gdb) layout regs

Note that you want to do them in that order so that the registers window is on top. Then as you execute instructions (stepi or si for assembly instructions), the assembly view will highlight the next instruction (not executed yet) and the registers view will highlight any changed registers.

Formatting Issues

Unfortunately, there are some annoying formatting issues that sometimes pop up while using TUI mode. If things start to look weird, run the following command to set things straight:

(gdb) refresh