What is ctrlgdb?

ctrlgdb is a curses front-end for the GNU debugger.

Where can I find it?

The source tarball can be downloaded here.

Please note that ctrlgdb is currently alpha software and it requires a patched gdb.

Why a curses frontend to gdb?

I've been using the turbo debugger when I was doing programming under DOS and Windows and it's one of the few things in DOS/Windows I miss. I usually work in the console and viewing source code with gdb is really nasty as well as the gdb TUI interface.

There are curses debuggers available in the unix environment but they all have disadvantages. The emacs interface is emacs-specific (and I am a vi user..), rhgdb is very unstable and requires linking with the gdb source and a large number of libraries and the xwpe interface is not available stand-alone.

Of course I could also just try to read the ELF binary with an editor and use a memory dumper like Sjoerd, but, well, I'm not that handy ;-)

Features

  • Breakpoints (set them by specifying a function name, file+line or by pressing a key while browsing the source)
  • Automatically show the source of the program that's being debugged
  • Marking the currently active line and breakpoints in the source viewer
  • Step over/Step into/Continue/Finish current version
  • Browsing thru the stack and jumping to functions lower on the stack
  • Watching of specified variables
  • Watching of local variables
  • Support to attach to running processes and to detach from them
  • Jump to definition of symbol when pressing key on symbolname in the source viewer
  • Commandline interface to the ordinary gdb
  • Customizable looks and keybindings

Bzr access

Ctrlgdb bzr can be accessed by doing:

bzr get http://jelmer.vernstok.nl/oss/ctrlgdb/bzr