Starts or resumes program execution. Format GO [address-expression]
1 – Parameters
address-expression Specifies that program execution resume at the location denoted by the address expression. If you do not specify an address expression, execution resumes at the point of suspension or, in the case of debugger startup, at the image transfer address.
2 – Description
The GO command starts program execution or resumes execution from the point at which it is currently suspended. GO is one of the four debugger commands that can be used to execute your program (the others are CALL, EXIT, and STEP). Specifying an address expression with the GO command can produce unexpected results because it alters the normal control flow of your program. For example, during a debugging session you can restart execution at the beginning of the program by entering the GO %LINE 1 command. However, because the program has executed, the contents of some variables might now be initialized differently from when you first ran the program. If an exception breakpoint is triggered (resulting from a SET BREAK/EXCEPTION or a STEP/EXCEPTION command), execution is suspended before any application-declared condition handler is invoked. If you then resume execution with the GO command, the behavior is as follows: o Entering a GO command to resume execution from the current location causes the debugger to resignal the exception. This enables you to observe which application-declared handler, if any, next handles the exception. o Entering a GO command to resume execution from a location other than the current location inhibits the execution of any application-declared handler for that exception. If you are debugging a multiprocess program, the GO command is executed in the context of the current process set. In addition, when debugging a multiprocess program, the way in which execution continues in your process depends on whether you entered a SET MODE [NO]INTERRUPT command or a SET MODE [NO]WAIT command. By default (SET MODE NOINTERRUPT), when one process stops, the debugger takes no action with regard to the other processes. Also by default (SET MODE WAIT), the debugger waits until all process in the current process set have stopped before prompting for a new command. Related commands: CALL EXIT RERUN SET BREAK SET MODE [NO]INTERRUPT SET MODE [NO]WAIT SET PROCESS SET STEP SET TRACE SET WATCH STEP WAIT
3 – Examples
1.DBG> GO . . . 'Normal successful completion' DBG> This command starts program execution, which then completes successfully. 2.DBG> SET BREAK RESTORE DBG> GO ! start execution . . . break at routine INVENTORY\RESTORE 137: procedure RESTORE; DBG> GO ! resume execution . . . In this example, the SET BREAK command sets a breakpoint on routine RESTORE. The first GO command starts program execution, which is then suspended at the breakpoint on routine RESTORE. The second GO command resumes execution from the breakpoint. 3.DBG> GO %LINE 42 This command resumes program execution at line 42 of the module in which execution is currently suspended.