Google
 

Trailing-Edge - PDP-10 Archives - BB-BT99T-BB_1990 - 10,7/system/setbre.hlp
There are 2 other files named setbre.hlp in the archive. Click here to see a list.
SET BREAK Command

Function

     The SET BREAK command is used during the debugging process  on  a
     KL10 processor only.  It is useful when the program that is being
     debugged:

      o  Will not fail when DDT has been loaded.

      o  Destroys DDT when DDT is loaded.

      o  Destroys  the  contents  of   a   memory   location   at   an
         unpredictable point during program execution.

     It is possible to break when the specified location is read from,
     written  into,  and/or  fetched.  It is also possible to break on
     monitor references to items  in  your  address  space.   This  is
     useful  when  the  monitor  stores or retrieves arguments to/from
     unexpected locations in your address space because  of  erroneous
     monitor call argument lists.

     If you are breaking on a WRITE  condition,  the  WRITE  condition
     causing  the  break  will not have been executed.  Therefore, the
     instruction located at PC and all  operands  should  be  examined
     before continuing program execution.

Formats

     SET BREAK

     SET BREAK AT addr ON condition AFTER x,...

     SET BREAK AT n,,addr ON condition AFTER x,...

     SET BREAK NO condition

     SET BREAK NONE

     Where:    AT, ON, and AFTER are optional portions of the  command
               line.

               addr  is  an  octal  number  in  the  range   0-777777,
               representing  a  user  virtual address.  The address is
               not necessary.

               condition is one or more reasons for allowing the break
               to   occur.   The  condition  is  not  necessary.   The
               condition arguments are listed below.

               x is the number of times the sequence should run before
               the  break  occurs.  The variable is any decimal number
               from 1 to 511.

               n is a section number ranging  from  0-37  octal.   The
               commas separating n and addr are optional.

     Multiple conditions can be specified within  one  command;  these
     conditions  are  separated  from  one  another  by  commas.   The
     possible conditions that can be specified are:

     READ      Breaks if the contents of addr are read by the program.
               This   condition   causes   a   break  to  occur  on  a
               read-modify-write as well as on a read.

     WRITE     Breaks if the location specified  by  addr  is  written
               into.

     EXECUTE   Breaks if an instruction is fetched from  the  location
               specified in the command string.

     ALL       Breaks if the location specified in the command  string
               is  read  from (READ), written into (WRITE), or fetched
               from (EXECUTE).

     MUUO      Breaks on monitor  references  as  qualified  by  READ,
               WRITE, and/or EXECUTE.

     If all three break  conditions  are  to  be  specified,  you  can
     include  the  word ALL in the command line, replacing the command
     argument string:  WRITE,READ,EXECUTE.  When you  want  breaks  on
     monitor  references  for  all  three  break  conditions,  you can
     include one of the following  command  argument  strings  in  the
     command line:  either MUUO,ALL or MUUO,READ,WRITE,EXECUTE.

     If you use SET BREAK with no conditions, the previously specified
     conditions are used.  If there was no previous SET BREAK command,
     ALL is  assumed.   When  issuing  a  SET  BREAK  command  without
     specifying  any  address,  the conditions included in the command
     line are ORed with existing break conditions and  the  previously
     specified  address  is  used.   If  there  are  no existing break
     conditions, 0 is the default address.

     In summary, break addresses remain in effect until  changed;  and
     break conditions remain in effect until removed.

     If you want to remove a break  condition,  the  condition  to  be
     removed can be specified in the following command:

     SET BREAK NO condition

     If all existing break conditions are to be removed, the following
     command line can be issued:

     SET BREAK NONE

     This command will remove all existent break conditions, but  will
     not remove a previously specified address.  An example of setting
     a default break location is:

     SET BREAK 1000 ON READ,WRITE,EXECUTE
     SET BREAK NO READ
     SET BREAK NONE
     SET BREAK EXECUTE ;1000 IS DEFAULT BREAK LOCATION

     When a break occurs, one of the messages:

     %ADDRESS BREAK AT USER PC xxxxxx

     %ADDRESS BREAK AT EXEC xxxxxx UUO AT USER xxxxxx

     will be printed, and your terminal will be left at monitor level.
     The  second message is produced when MUUO was included in the SET
     BREAK command line.  If you type:

     .CONTINUE

     the program will  continue  execution  at  the  instruction  that
     caused the break.

Characteristics

     Leaves your terminal at monitor level.

     Can be used on KL10 processors only.

     Does not destroy your job's core image.

Examples

     1.  Break if the contents of 1000 are  read  or  written  by  the
         program.

         .SET BREAK AT 1000 ON READ,WRITE<RET>

         .

     2.  Break  if  the  instruction  is  fetched  from  the   default
         location, in this case 1000.

         .SET BREAK EXECUTE<RET>
         .

     3.  Remove existing break conditions.

         .SET BREAK NONE<RET>

         .

     4.  Break at any EXECUTE or WRITE monitor references.

         .SET BREAK 1000 MUUO,EXECUTE,WRITE<RET>

         .