Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Debugger
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{short description|Computer program used to test and debug other programs}} {{Software development process|Tools}} [[File:Winpdb-1.3.6.png|thumb |[[Winpdb]] debugging itself]] A '''debugger''' is a [[computer program]] used to [[software testing|test]] and [[debugging|debug]] other programs (the "target" programs). Common features of debuggers include the ability to run or halt the target program using [[breakpoint]]s, [[stepping (debugging)|step]] through code line by line, and display or modify the contents of memory, CPU registers, and stack frames. The code to be examined might alternatively be running on an ''[[instruction set simulator]]'' (ISS), a technique that allows great power in its ability to halt when specific conditions are encountered, but which will typically be somewhat slower than executing the code directly on the appropriate (or the same) processor. Some debuggers offer two modes of operation, full or partial simulation, to limit this impact. An exception occurs when the program cannot normally continue because of a [[software bug|programming bug]] or invalid data. For example, the program might have tried to use an instruction not available on the current version of the [[central processing unit|CPU]] or attempted to access unavailable or [[memory protection|protected]] [[computer memory|memory]]. When the program "traps" or reaches a preset condition, the debugger typically shows the location in the original code if it is a '''source-level debugger''' or '''symbolic debugger''', commonly now seen in [[integrated development environment]]s. If it is a '''low-level debugger''' or a '''machine-language debugger''' it shows the line in the [[disassembly]] (unless it also has online access to the original source code and can display the appropriate section of code from the assembly or compilation).
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)