5

I don't like purely command-line debuggers all that much; but sometimes I'm using a machine which simply does not have any X-based applications nor anything with another kind of GUI, and I'm restricted to a terminal session.

I'm thus interested in a debugger with (n)curses as the user interface - something which will let me watch the source as is go up the stack trace without constantly having to type commands, etc. It doesn't have to be fancy; so something like the ncurses analog of, say, kdbg would be relevant.

Required:

  • Libre license.
  • Gratis.
  • Supports gdb
  • Speedy
  • Usable with C and C++ code

Desirable:

  • Support for other compiled languages
  • Supports LLVM's debugger as well as gdb
  • Some sort of index / parsing of code / etc. which would enable moving from use to definition, or between definition and declaration
  • Under actively development
  • Ability to interact with the UI in ways other than typing in commands on some command-line. (i.e. not just a fancier state display over the gdb/llvm debugger command line).
2

Vanilla GDB satisfies you constraints. gdb -tui is based on curses.

Also, GDB is capable of advanced customization using .gdbinit. You might get inspired by these ones:

Some people prefer cgdb to GDB TUI.

For more options, see How to highlight and color gdb output during interactive debugging? on Stack Overflow. The screenshots are taken from there.

  • 1
    But aren't all of these still based on entering commands on the command line? – einpoklum Jun 2 '17 at 11:49
  • Cgdb lists "visual breakpoint setting", "keyboard shortcuts for common functions" and "key mappings (macros)" among its features. Its interface is very Vim-like. – Palec Jun 2 '17 at 12:18
  • GDB TUI has Single-Key Mode where commen debuging tasks take just a single key press. Still, some commands are needed, e.g. to set a breakpoint. – Palec Jun 2 '17 at 12:24
  • So, I've upvoted this answer, and it's obviously very useful compared to plain-vanilla gdb use, but I'm still hoping for an answer that's less dependent on a command line. – einpoklum Jun 2 '17 at 12:39
  • 1
    I heard about Clewn, which enables using Vim as an interface to GDB. I'm planning to give it a ride some time. It has the potential to enable tighter integration and more shortcut-driven interface. Still, GDB is such an advanced tool that evading all its commands may not be the most comfortable way to get things done. – Palec Jun 2 '17 at 12:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.