Enter the binary and args just as you'd call them on the command line. Binary is restored when gdbgui is opened at a later time.
Intuitive control of your program. From left to right: Run, Continue, Next, Step, Return, Next Instruction, Step Instruction.
View all threads, the full stack on the active thread, the current frame on inactive threads. Switch between frames on the stack, or threads by pointing and clicking.
Choose from any signal your OS supports to send to the inferior. For example, to mock CTRL+C
in plain gdb, you can send SIGINT
to interrupt the inferior process. If the inferior process is hung for some reason, you can send SIGKILL
, etc.
Signals are also recognized by gdbgui
, and a button is presented to let you step back into the program and inspect the program's state in case it exits unexpectedly.
View source, assembly, add breakpoints. All symbols used to compile the target are listed in a dropdown above the source code viewer, and have autocompletion capabilities. There are two different color schemes: dark (monokai), and a light theme (default).
With assembly. Note the bold line is the current instruction that gdb is stopped on.
If the source file is not found, it will display assembly, and allow you to step through it as desired.
All local variables are automatically displayed, and are clickable to explore their fields.
Hover over a variable and explore it, just like in the Chrome debugger.
Arbitrary expressions can be evaluated as well. These expressions persist as the program is stepped through. The base/radix can be modified as desired.
Expressions record their previous values, and can be displayed in an x/y plot.
Expressions can be interactively explored in a tree view.
All hex addresses are automatically converted to clickable links to explore memory. Length of memory is configurable. In this case 10 bytes are displayed per row.
View all registers. If a register was updated it is highlighted in yellow.
- Prints gdb output
- Allows you to write directly to the underlying gdb subprocess as if you were using it in the terminal
- Tab completion works, and displays a button to view help on gdb commands
- Can be used to ease into learning gdb
- Can be used as a fallback for commands that don't have a UI widget
- History can be accessed using up/down arrows
Authentication can be enabled when serving on a publicly accessible IP address. See gdbgui --help
for instructions on how to enable authentication.