Professional Researcher's Encyclopaedia

Knowledge is only a click away

Debugger - enyclopaedia article

Debugger

Summary: A debugger is a computer program that is used to debug (and sometimes test) computer software. When the program crashes, the debugger shows the position in the original code if it is a source-level debugger or symbolic debugger, commonly seen in integrated development environments. If it is a low-level debugger or a machine-language debugger it shows the line in the disassembly. (A "crash" happens when the program can't continue because of a programming bug. For example, perhaps the progr ...

read the full Debugger article

Buy Debugger related products:


Buy from Amazon.co.uk Books - Music - Classical - VHS - DVD - Video-games - Software - Electronics - Toys
Buy from Amazon.com Books - Music - Classical - VHS - DVD - Videogames - Software - Electronics - Photo - Toys
Buy from Amazon.ca Books - Music - Classical - VHS - DVD - Video-games - Software - Livres en Français
Buy from Amazon.de - - - - - - -
Buy from Amazon.fr - - - - -
Advanced Product Search (new):    uk    |     us    |     ca    |     de    |     fr

Debugger

     From Wikipedia, the free encyclopedia.

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

When the program crashes, the debugger shows the position in the original code if it is a source-level debugger or symbolic debugger, commonly seen in integrated development environments. If it is a low-level debugger or a machine-language debugger it shows the line in the disassembly. (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 offer more sophisticated functions such as running a program step by step (single-stepping), stopping (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 but lacks such tools.

An important information is, that software running under a debugger might behave differently than software running normally, because a debugger changes the internal timing of a software program. That makes it often really difficult to track down runtime problems in complex multi-threaded or distributed systems.

Notable debuggers include:

See also

References

  • Jonathan B. Rosenberg, How Debuggers Work: Algorithms, Data Structures, and Architecture, John Wiley & Sons, ISBN 0-471-14966-7

link to this article with the following HTML

 
This article is from Wikipedia. This article was up-to-date as of 8 May 2004 - See live article
All text is available under the terms of the GNU Free Documentation License.

This page is part of Professional Researcher
Web site design by Dean Marshall