Free Debuggers
OllyDbg
OllyDbg is a 32-bit assembler level analysing debugger for Microsoft Windows. Emphasis on binary code analysis makes it particularly useful in cases where source is unavailable. OllyDbg is a shareware, but according to the website you can download and use it for free.
UPS
UPS is a source level C, C++ and Fortran debugger with an X windows interface. It's a very light debugger, but is quite efficient and works well. An ANSI compliant C interpreter is included.
Debuggy
Win32 debugger, disassembler and resource extractor.
Turbo Debugger
Can be used with the free C++ Borland compiler.
Pro32 Debugger
Pro32 Debugger for analyzing protected mode programs
GDB: The GNU Project Debugger
The program being debugged can be written in C, C++, Pascal (and many other languages). Those programs might be executing on the same machine as GDB or on another machine. GDB can run on most popular UNIX and Microsoft Windows variants.
The GDB GUI
Insight is a graphical user interface to GDB, the GNU Debugger written in Tcl/Tk by people working at Red Hat, Inc. and Cygnus Solutions.
386SWAT -- A Protected Mode Debugger
This protected mode debugger provides debugging services to real mode, protected mode, virtual 8086 mode programs, DPMI and VCPI clients, and Win 3.1x and Win95/98 programs under any memory manager while occupying only a few kilobytes of low DOS memory
GVD: The GNU Visual Debugger
GVD, the GNU Visual Debugger, is an extensible graphical debugger licensed under the GNU General Public License and written in Ada using GNAT and the GtkAda graphical toolkit.
Project: DDD - Data Display Debugger
DDD is a graphical front-end for command-line debuggers such as GDB, DBX, WDB, Ladebug, JDB, XDB, the Perl debugger, or the Python debugger. DDD displays data structures as graphs and plots.
GoBug Debugger
Windows debugger.
GRDB debugger.
This is a debug-like debugger for MSDOS that has a lot of improvement over MSDOS DEBUG. The primary improvement is support for instructions on up to the Pentium processor