Difference between revisions of "Debugger"
Chris Tyler (talk | contribs) |
Chris Tyler (talk | contribs) |
||
Line 6: | Line 6: | ||
Typical features of a debugger include: | Typical features of a debugger include: | ||
* the ability to [[Disassembler|disassemble]] code | * the ability to [[Disassembler|disassemble]] code | ||
− | * the ability to cross-reference and display source code and | + | * the ability to cross-reference and display source code and address [[Symbol|symbols]] (for functions and variables) |
* the ability to execute single instructions or lines of code (single-step) | * the ability to execute single instructions or lines of code (single-step) | ||
* the ability to stop execution at a requested location in the program (breakpoint) or when a variable changes value (watchpoint) | * the ability to stop execution at a requested location in the program (breakpoint) or when a variable changes value (watchpoint) |
Revision as of 00:19, 17 January 2014
A debugger is a tool used to analyze running code.
Although debugging tools are available for interpreted and bytestream languages, the term debugger is often used to describe a tool that can analyze object code.
Typical features of a debugger include:
- the ability to disassemble code
- the ability to cross-reference and display source code and address symbols (for functions and variables)
- the ability to execute single instructions or lines of code (single-step)
- the ability to stop execution at a requested location in the program (breakpoint) or when a variable changes value (watchpoint)
- the ability to trap and examine faults (such as a segmentation fault)
- the ability to examine variables and registers
The GNU debugger is named "gdb" and has a command-line interface. Various graphical front-ends are available.