Skip to content

Latest commit

 

History

History
108 lines (63 loc) · 4.1 KB

SCREENSHOTS.md

File metadata and controls

108 lines (63 loc) · 4.1 KB

Screenshots

image

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.

image

Intuitive control of your program. From left to right: Run, Continue, Next, Step, Return, Next Instruction, Step Instruction.

image

Stack/Threads

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.

image

Send Signal to Inferior

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. image

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. image

Source Code

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).

image

With assembly. Note the bold line is the current instruction that gdb is stopped on.

image

If the source file is not found, it will display assembly, and allow you to step through it as desired. image

Variables and Expressions

All local variables are automatically displayed, and are clickable to explore their fields.

image

Hover over a variable and explore it, just like in the Chrome debugger.

image

Arbitrary expressions can be evaluated as well. These expressions persist as the program is stepped through. The base/radix can be modified as desired.

image

Expressions record their previous values, and can be displayed in an x/y plot.

image

Expressions can be interactively explored in a tree view.

image

Memory Viewer

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.

image

Registers

View all registers. If a register was updated it is highlighted in yellow.

image

gdb console

  • 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

image

authentiation

Authentication can be enabled when serving on a publicly accessible IP address. See gdbgui --help for instructions on how to enable authentication.

image

gdbgui at launch

image