Console front-end to the GNU debugger
C++ C Shell Makefile M4 Rust Other
Latest commit e0fde1f Mar 21, 2017 @brasko brasko Update NEWS for cgdb 0.7.0 release
Signed-off-by: Bob Rossi <>
Failed to load latest commit information.
cgdb Fix g++ compile warnings Mar 22, 2017
config Add stdlib.h for exit command to fix CC=g++ configuration Jul 22, 2016
doc Remove the help2man integration Mar 3, 2017
lib CGDB now compiles with -pedantic (improve portability) Mar 10, 2017
packages Update sourceforge links to github Aug 6, 2016
test Pass through backward and forward word key sequence to readline Jul 29, 2016
.gitignore Update .gitignore when building in tree. Jan 13, 2017 Reformat code style with GNU indent. Jul 14, 2012
AUTHORS Add Michael Sartain as a CGDB Author. Jan 6, 2017 Fix typo in contributing documentation May 20, 2016
COPYING Initial configure work Jan 28, 2003
ChangeLog Remove individual ChangeLog files. Jul 12, 2012
FAQ Remove flex generaed parsers from revision control. Aug 12, 2016
INSTALL git checkouts require in INSTALL Feb 2, 2017 Remove doxygen support. It was unused. Jan 6, 2017
NEWS Update NEWS for cgdb 0.7.0 release Mar 22, 2017
README Some README updates. Dec 15, 2012 CGDB now compiles with -pedantic (improve portability) Mar 10, 2017 Allow setting CGDB_VERSION environment for Aug 6, 2016 Get cgdb ready for another release Mar 7, 2017 Move attribute macros to a single location. Jul 31, 2016
configure.init Remove the help2man integration Mar 3, 2017 I like it. May 14, 2006
release-todo.txt Committing cgdb-0_6_8 release. Nov 14, 2014
roadmap.txt Fix spelling mistakes. Jul 22, 2016


CGDB is a very lightweight console frontend to the GNU debugger. It provides a split screen interface showing the GDB session below and the program's source code above. The interface is modelled after vim's, so vim users should feel right at home using it.

Screenshot, downloads, and documentation are available from the home page:

Official source releases are available here:

Build Instructions


You must have the following packages installed.

  • sh
  • autoconf
  • automake
  • aclocal
  • autoheader
  • libtool
  • flex
  • bison
  • gcc/g++

Preparing the configure

Run ./ in the current working directory to generate the configure script.

Running configure, make and make install

You can run ./configure from within the source tree, however I usually run configure from outside the source tree like so,

mkdir ../build
cd ../build
../cgdb/configure --prefix=$PWD/../prefix
make -srj4
make install

I typically enable more error checking with the build tools like so,

YFLAGS="-Wno-deprecated" CFLAGS="-std=c11 -g -O0 -Wall -Wextra -Wshadow -pedantic -Wno-unused-parameter" CXXFLAGS="-std=c++11 -g -O0 -Wall -Wextra -Wshadow -Werror -pedantic -Wmissing-include-dirs -Wno-unused-parameter -Wno-sign-compare -Wno-unused-but-set-variable -Wno-unused-function -Wno-variadic-macros" ../cgdb/configure --prefix=$PWD/../prefix

If you like to have a silent build, and the libtool link lines are bothering you, you can set this environment variable to suppress libtools printing of the link line,