LinuxCommandLibrary
GitHubF-DroidGoogle Play Store

ugdb

Alternative TUI for GDB debugger

TLDR

Debug a program
$ ugdb [./myprogram]
copy
Debug with arguments
$ ugdb [./myprogram] -- [arg1] [arg2]
copy
Attach to a running process by PID
$ ugdb -p [pid]
copy
Use a custom GDB executable
$ ugdb --gdb [/path/to/gdb] [./myprogram]
copy
Read symbols from a separate file
$ ugdb -s [symbols.elf] [./myprogram]
copy
Start as an interface for rr replay
$ ugdb --rr [./myprogram]
copy
Skip all .gdbinit initialization files
$ ugdb -n [./myprogram]
copy

SYNOPSIS

ugdb [options] [program] [-- args...]

DESCRIPTION

ugdb is a terminal user interface for GDB built on the unsegen library. It provides four interactive panes: a GDB console, a source code pager, an expression table for watching variables, and a virtual terminal for the debugged program's output. Pane layout is configurable via --layout.Supports vim-like keybindings and remote control via IPC. The --rr flag enables use with the Mozilla rr record-and-replay debugger as a drop-in interface.

PARAMETERS

--gdb path

Path to an alternative gdb binary (default: gdb).
-p, --pid pid
Attach to a running process with the given PID.
-s, --symbols file
Read debug symbols from the given file.
-d, --directory dir
Add a directory to the source file search path.
-c, --core file
Use a core dump file for examination.
-x, --command file
Execute GDB commands from a file on startup.
-e, --initial-expression expr
Pre-populate the expression table with an entry.
--layout string
Define the initial pane layout (default: (1s-1c)|(1e-1t)). Pane letters: s=source, c=console, e=expressions, t=terminal.
-n, --nx
Do not execute commands from any .gdbinit file.
--nh
Do not execute commands from ~/.gdbinit.
-q, --quiet
Suppress the introductory and copyright messages.
--rr
Start ugdb as an interface for rr; trailing arguments are passed to rr replay.
--rr-path path
Path to an alternative rr binary.
--log_dir dir
Directory for the log file (default: /tmp).

HISTORY

ugdb was created by ftilde and is written in Rust.

SEE ALSO

gdb(1), lldb(1)

Copied to clipboard
Kai