DBG$HELP.HLB  —  DEBUG  GO
    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.
Close Help