Encyclopedia > Debugger

  Article Content

Debugger

A debugger is a computer program that is used to test and debug computer software.

When the program crashes, the debugger shows the position in the original code if it is part of an integrated development environment, or it shows the line in the disassembly if it is a stand-alone program. (A crash happens when the program can't continue because of a programming bug. For example, perhaps the program tried to use an instruction not available on the current version of the CPU.)

Typically, debuggers also more sophisticated functions such as running a program step by step, breaking (pausing the program to examine the current state) at some kind of event, and tracking the values of some variables. Some debuggers have the ability to modify the state of the program while it is running, rather than merely to observe it.

The same functionality which makes a debugger useful for eliminating accidental bugs allows it to be used as a cracking tool to learn how to evade copy protection and other programmed limitations.

Debuggers make the debugging process much easier and faster, to the point where the availability of a good one for a particular language and platform can sway the decision to use that language rather than another language that is superior in other respects buts lacks such tools.
The absence of good debuggers and other tools like it has been a major factor in the lack of acceptance of non-traditional language paradigms such as functional languages, particularly according to proponents of such languages.

Examples of Debuggers GDB, SoftICE, Turbo Debugger[?], TMON[?], T-Bug[?], the integrated debugger in Perl

See also Computer programming, Software testing



All Wikipedia text is available under the terms of the GNU Free Documentation License

 
  Search Encyclopedia

Search over one million articles, find something about almost anything!
 
 
  
  Featured Article
Christiania

... Christiania - a partially self-governing neighborhood in the city of Copenhagen. This is a disambiguation page; that is, one that just points to other pages that migh ...

 
 
 
This page was created in 43 ms