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