File: gawk.info, Node: Debugging Summary, Prev: Limitations, Up: Debugger 14.6 Summary ============ * Programs rarely work correctly the first time. Finding bugs is called debugging, and a program that helps you find bugs is a debugger. 'gawk' has a built-in debugger that works very similarly to the GNU Debugger, GDB. * Debuggers let you step through your program one statement at a time, examine and change variable and array values, and do a number of other things that let you understand what your program is actually doing (as opposed to what it is supposed to do). * Like most debuggers, the 'gawk' debugger works in terms of stack frames, and lets you set both breakpoints (stop at a point in the code) and watchpoints (stop when a data value changes). * The debugger command set is fairly complete, providing control over breakpoints, execution, viewing and changing data, working with the stack, getting information, and other tasks. * If the GNU Readline library is available when 'gawk' is compiled, it is used by the debugger to provide command-line history and editing. * Usually, the debugger does not not affect the program being debugged, but occasionally it can.