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.
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.
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.
Java Development Environment for Emacs (JDEE) is an Emacs-based integrated development environment (IDE) for developing Java applications and applets. Features include multiple code browsers, a JPDA-based debugger, method and field completion, template-based and procedure-based code generation, Java source code interpreter, context-sensitive help, and more.