Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ b_v — Apollo

Media Vault

Software Library

Restoration Projects

Artifacts Sought

;
BREAKPOINT -- Sets a breakpoint.

FORMAT

               | Exactly one from this column. |  None, any, or all from  |
               |                               |       this column.       |
               |                               |                          |
               | routine-name                  |                          |
               | statement-id                  |  -Do action-list         |
    Breakpoint | -Exit                         |  -Trace                  |
               | -Here                         |  -After integer          |
               | -VA address                   |                          |
               | -VA routine-name\offset       |                          |
               |                               |                          |

REQUIRED ARGUMENT

  The BREAKPOINT command must be followed by exactly one option from the
  following list:

  routine-name     Identifies where DEBUG will set a breakpoint. This must be
                   either a routine-name by itself or a statement-id.  If you
                   specify a routine-name by itself, DEBUG sets the breakpoint
                   just before the first executable statement in the named
                   routine. Don't forget that a routine-name by itself must
                   end with a backslash (\).

  -Exit            Sets a breakpoint on the routine exit.  (Note, each routine
                   has only one physical exit even though it may have multiple
                   RETURN statements. DEBUG sets the breakpoint on the
                   physical exit only.)

  -Here            Sets a breakpoint at the current run environment location.
                   Any user environment specification is ignored.

  -VA              Allows you to set a breakpoint on a virtual address. -VA
                   must be followed by one of the following two subarguments:

                   address               a virtual address.  By default, DEBUG
                                         will view the number you enter as a
                                         decimal value, but you can change the
                                         base to hexadecimal or octal by
                                         preceding the number with 16# or 8#,
                                         respectively.

                   routine-name\offset   a routine-name followed by an integer
                                         offset (in bytes) from the beginning
                                         of the routine also provides a
                                         virtual address.

OPTIONAL ARGUMENTS

  After the one mandatory argument, you can optionally specify zero, one, two,
  or all three of the following arguments:

  -Do       Causes DEBUG to execute the action-list when the break occurs.

  -Trace    Prevents the breakpoint from stopping program execution.  Instead,
            DEBUG prints a message that identifies the tracepoint, and
            executes any action-list that you have given (see the -DO option).
            Target program execution continues.

  -After    DEBUG maintains a "hit" count for every breakpoint.  The hit count
            measures how many times a statement is executed.  (That is, the
            hit count is incremented each time the statement at that
            breakpoint is executed.) You must supply an integer argument to
            -After.  When the hit count is less than the integer, the
            breakpoint is not activated.  When the hit count equals the
            integer, the break is activated, and the hit count is reset to
            zero. If you never specify -AFTER in a DEBUG session, the default
            value of the integer is 1.

            The integer you supply will not change unless you change it.  For
            example, if you specify -AFTER 3, then program breaks will occur
            for the third, sixth, ninth, etc. times that the statement is
            executed.


DESCRIPTION

  Use the BREAKPOINT command to set a breakpoint.  The breakpoint always
  occurs immediately before your program executes the statement,
  exit, or routine where you set the break.  For example, if you set
  a breakpoint at line 100, then the program will halt just before it
  executes the statement at line 100.  If you set a breakpoint at a
  routine, DEBUG executes the routine prolog (which establishes the
  addressing environment, allocates local variables, etc.), but halts
  before executing the first user statement of the routine.

  If you specified an action-list with the breakpoint, DEBUG invokes
  the commands in the action-list.  DEBUG then checks to see if the
  breakpoint is a trace.  If it is a trace, DEBUG prints a message notifying
  you that the break occurred, and execution continues.  If the breakpoint
  is not a trace, DEBUG requests a command.

  Use the LIST command to learn the positions of all active breakpoints.  Use
  the DELETE command to remove one or more breakpoints.

  For full details, see Chapter 3 of the DOMAIN Language Level Debugger
  Reference manual.

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026