From Simple English Wikipedia, the free encyclopedia

A debugger is a computer program that is used to test and "debug" other programs, mainly to solve programming bugs.

Debuggers offer advanced functions such as:

  1. Running a program step by step (single-stepping),
  2. Stopping (breaking) (pausing the program to examine the current state) at some kind of event by means of breakpoint (a place for stopping or pausing in a program),
  3. Tracking; which means following the values of some variables,
  4. Some debuggers can change a program while it is running; some only watch it.

The same things that make a debugger useful for solving software bugs allow it to be used as a software cracking tool to defeat copy protection and other software protection features.