avrmon-stk200 is a port of Denis Chertykov's Linux debug monitor system for Atmel AVR microcontrollers. It is compatible with the connection scheme used in Atmels "STK200 Starter Kit", as opposed to the original version that used the "DAPA" (Alex's Direct Avr Parallel Access) scheme. In short, the monitor system allows you to do in-systems source-level debugging on AVR microcontrollers with gdb (avr-gdb).

Libcwd is a full-featured and well-documented library that assists C++ developers with debugging their applications. It includes support for ostream-based debug output, custom debug channels and devices, memory allocation debugging, run-time sourcefile:linenumber information, and demangled type names of variables. It is thread-safe.

Checker is a debugging tool suite which detects
memory errors at runtime. It's like a GNU 'Purify'. It
still has alpha status and you need gcc version
2.8.1 to use Checker. It currently works only for C.

cingb is an attempt to write a Gameboy emulator for all kinds of platforms. It plays Gameboy and Gameboy Color ROMs, includes a debugger for step-by-step analysis of Gameboy programs and might be also interesting for educational purposes.

CMUCL is a free, high performance implementation of the Common Lisp programming language which runs on most major Unix platforms. It mainly conforms to the ANSI Common Lisp standard. CMUCL provides a sophisticated native code compiler; a powerful foreign function interface; an implementation of CLOS; the Common Lisp Object System; which includes multimethods and a metaobject protocol; a source-level debugger and code profiler; and an Emacs-like editor implemented in Common Lisp. CMUCL is maintained by a team of volunteers collaborating over the Internet, and is mostly in the public domain.

Code Medic provides access to the power of gdb with an intuitive front end. It currently supports opening multiple source windows at once, setting/clearing breakpoints while the program is running, watching variables change in the variable tree as you step through code (even with nested structs), text searching through source, and integration with Code Crusader to provide a rapid, efficient develop-debug cycle.

GNU DDD, the Data Display Debugger, is a GUI to command-line debuggers like GDB, DBX, JDB, XDB, Ladebug, WDB, the Perl debugger, or the Python debugger. It provides a graphical data display where complex data structures can be explored incrementally and interactively.

The debug memory allocation or dmalloc library is a drop-in replacement for the system's native memory management routines. It provides powerful debugging facilities which are configurable at runtime. These facilities include such things as memory-leak tracking, fence-post write detection, file/line number reporting, and general logging of statistics. The library has been run successfully on a wide variety of operating systems. It also provides support for the debugging of threaded programs.

Dynamic Probes (Dprobes) is a generic and pervasive system debugging facility that will operate under the most extreme software conditions such as debugging a deep-rooted operating system problem in a live environment. Dprobes allows the insertion of fully automated breakpoints or probepoints anywhere in the system and user space. Each probepoint has an associated set of probe instructions that are interpreted when the probe fires. These instructions allow memory and CPU registers to be examined and altered using conditional logic. When the probe command terminates, prior to returning to the probed code, a syslog record may be optionally generated.