Modular visual interface for GDB in Python.
This comes as a standalone single-file .gdbinit which, among the other things, enables a configurable dashboard showing the most relevant information during the program execution. Its main goal is to reduce the number of GDB commands issued to inspect the current program status allowing the programmer to focus on the control flow instead.
- Single GDB init file.
- Write the dashboard to the main GDB console or to an external file/TTY.
- Interaction with GDB using the native Python API.
- Several default modules are included to address the most basic needs: source code, assembly, registers, etc.).
- User-defined modules can be easily developed by extending a Python class.
- Additional configuration files (both GDB and Python) are read from ~/.gdbinit.d/.
- Fully stylable user interface and dynamic command prompt.
- Optional syntax highlighting using the Pygments Python library.
- No GDB command has been redefined, instead, all the features are available as subcommands of the main dashboardcommand.
Follows the list of bundled default modules. Refer to the GDB help system for the full syntax.
- assembly shows the disassembled code surrounding the program counter. The instructions constituting the current statement are marked, if available.
- history lists the last entries of the GDB value history.
- memory allows to inspect memory regions.
- registers shows the CPU registers and their values.
- source show the program source code, if available.
- stack shows the current stack trace including the function name and the file location, if available. Optionally list the frame arguments and locals too.
- threads lists the currently available threads.
- expressions watches user expressions.
- Slightly improve the registers formatting
Copyright (c) 2015-2018 Andrea Cardaci [email protected]