The debugger for the Windows system provides the following features:
Displays the original program source.
Colors code to indicate comments, verbs, data-names and other syntax features.
Clearly indicates the current execution point, breakpoint settings, pass count settings and execution route trace point.
Gives convenient access to all functions through menus, a toolbar, a shortcut menu, accelerator keys and a command-line window.
Records and displays the CALL stack status.
Lists all programs loaded in memory and allows you to switch easily among them.
Supports storage of different file types in multiple directories or in a single folder.
Provides navigation around the program source through Find and Jump to line number functions.
Provides different levels of code execution control including stepping line-by-line, automated line-by-line execution while you watch, and full speed execution to the next breakpoint.
Code can be executed up to the point indicated by the cursor, up to the next program and up to a long list of specific execution conditions such as particular verbs being executed, particular files being accessed and entry to or exit from the program.
The current execution point can be set to any statement in the program.
Breakpoints can be set on any statement. The breakpoint can be set to occur only if a particular condition is true or after the line has been executed a particular number of times.
Passage counts can be set on any statement so you can check the number of times particular lines are being executed.
The values of data items can be inspected, changed and monitored throughout execution.
Unassigned linkage items can be assigned storage space so that debugging can continue.
Execution path can be recorded for later tracing so you can confirm how a particular point in the code was arrived at.
Debugging operations, and their results, can be recorded in a log file for later inspection or for later replay of either the whole debugging session or repeated sequences of operations.
Useful lists of breakpoints, pass counts, monitored data items, active programs and other information are provided to help you control your debugging session.
With this full set of features bugs are quickly tracked down and eradicated.