Difference between revisions of "Debug"
(Redir - verb form) |
(A decent start) |
||
Line 1: | Line 1: | ||
− | + | To '''debug''' a [[program]] is to find and remove any errors ('bugs') in it. There are a number of ways to do this. | |
+ | |||
+ | The earliest was to use the computer's [[front panel]], and [[single-step]] through the program, looking at the sequence of [[instruction]]s [[execute]]d, the contents of [[register]]s, etc. When [[batch]] [[operating system]]s came in, the usual approach was to take a '''core dump''' (a printout of the contents of [[main memory]]); this was laborious, and not an efficient use of the [[programmer]]'s time. | ||
+ | |||
+ | The usual method (especially with the advent of [[time-sharing]], although it predates that development) is to use a [[debugger]], special [[software]] which allows many of the same capabilities that debugging through the front panel did, along with others, e.g. [[breakpoint]]s, and symbolic operations. | ||
+ | |||
+ | {{semi-stub}} |
Revision as of 16:02, 3 November 2018
To debug a program is to find and remove any errors ('bugs') in it. There are a number of ways to do this.
The earliest was to use the computer's front panel, and single-step through the program, looking at the sequence of instructions executed, the contents of registers, etc. When batch operating systems came in, the usual approach was to take a core dump (a printout of the contents of main memory); this was laborious, and not an efficient use of the programmer's time.
The usual method (especially with the advent of time-sharing, although it predates that development) is to use a debugger, special software which allows many of the same capabilities that debugging through the front panel did, along with others, e.g. breakpoints, and symbolic operations.