Starting, Stopping, and Navigating the Debugger

The Debug menu contains a number of navigation commands used to start, stop, and control the execution of your program in the debugger. Some of these commands are assigned default keyboard shortcuts; others have not been assigned shortcuts. In either case, you can create your own customized keyboard shortcuts for the navigation commands, as described in Keyboard Options.

Go, which is equivalent to the ACUCOBOL-GT debugger’s Run/Continue command, starts the selected program in the debugger. If your files are out of date, you may be prompted to recompile them (depending on the build options that you have specified). If you select the Go command a second time, it resumes execution of your program from the cursor’s current location. The program returns to the debugger when it reaches a breakpoint.

Restart ends the current debugging session and begins a new session with the same program. When you select Restart, the debug cursor returns to the first statement in the code. Restart is useful when you want to repeat the session or when you have altered lines of code and want to rebuild and begin a session from the first statement.

To have the debugger automatically rebuild your program when you restart, select Follow the options specified in the 'Build’ page in the Environment/Debug section of the Tools > Options window. To customize the Build rules for your project, go to the Environment/Build section of the Tools > Options window.

Exit Debugger halts the current debugging session but leaves the debugger open. It is equivalent to the ACUCOBOL-GT File > Exit command. Quit Debugging halts the debugging session and exits the debugger. It is equivalent to the ACUCOBOL-GT File/Quit command.

Interrupt stops execution of the application and returns control to the debugger, just like the Ctrl+Break shortcut. It creates a pause similar to that caused by a breakpoint, with one caveat: if the program is in a PERFORM or ACCEPT loop, the Interrupt command is not received until an exception occurs or the action completes.

After receiving the Interrupt command, the debugger cursor displays on the current line of execution. Note that you should use Go, rather than Restart, to continue debugging after using the Interrupt command.

Auto Step lets you execute step commands repeatedly until the program’s end. You can change the speed at which the command executes, from 1 (slowest, approximately 3 seconds per step) to 9 (fastest, several steps per second). When you select a speed level in the Standard area of the dialog, the actual speed is displayed in milliseconds per step. You can also use the Customize area to set a custom speed, specified in milliseconds per step.

Step Into allows you to step to the next statement in your program. You can use this command to step into a new thread when it is created. If you want to continue to track the original thread, use the debugger’s Step Over command.

Step Over allows you to step over the next statement in your program. Use this command if you want to track a single thread rather than stepping into a new thread each time one is created.

Step Out Paragraph runs your program until it returns to the point at which the command was invoked. It is equivalent to the ACUCOBOL-GT debugger’s Run/Go until Paragraph Returns command.

Step Out Program runs your program until it exits to its calling program. It is equivalent to the ACUCOBOL-GT debugger’s Run/Go until Program Exits command.

Skip to Line moves the current program location to the line containing the cursor. Further execution of your program proceeds from this line. The current program location does not change unless the cursor line contains a verb. This command is equivalent to the ACUCOBOL-GT debugger’s Run/Skip to Cursor Line command.

Use this command with care, because the skipped lines are not executed. You may skip important sections of code and experience unexpected results.

Run to Cursor sets a temporary breakpoint at the current cursor line (or the closest previous line with a verb) and continues execution of your program. It is equivalent to the ACUCOBOL-GT debugger’s Run/Go to Cursor Line command.