HP 3000 Manuals

DATA BREAK SET [ HP Transact Reference Manual ] MPE/iX 5.0 Documentation


HP Transact Reference Manual

DATA BREAK SET 

Sets a breakpoint at the specified data item or data-item value.

Syntax 

{DATA BREAK SET}item_name[[,length [,count [,{cmdlist}]]]]
{DBS           }         [,rel-op ,value [,{cmdlist}]    ]
Parameters 

item_name        The name of a Transact/iX data item at which the data
                 breakpoint is set.  Marker items are not valid item
                 names.

length           The number of bytes of the item that will be checked if
                 a data breakpoint occurs.  If any portion of the item
                 (up to the specified length) has changed, a data
                 breakpoint occurs.  The default value for length is the
                 storage length multiplied by occurrence count.  (See
                 DEFINE(ITEM) in Chapter 8, "Transact Verbs.")

count            A number indicating how often you want to stop at the
                 data breakpoint, that is, every n times it is reached.
                 The default for this parameter is 1.

rel-op           An operator that indicates the relationship between the
                 value that is supplied and the data item value that will
                 cause a breakpoint.  Valid operators are LT, LE, EQ, GE,
                 GT, and NE.

value            The value to compare against.  If the data item is of
                 type X or U, the comparison between the data item and
                 the supplied value parameter is based on the shorter of
                 the two.

cmdlst           A set of commands executed every n times the breakpoint
                 is reached.  The cmdlist parameter must consist of valid
                 TRANDEBUG commands separated by semicolons.  It cannot
                 consist of NMDEBUG commands or commands that contain
                 command lists.  For example, {AUTORPT;STEP;;;;MODIFY
                 STATUS-15;CONTINUE}.  (Each of the semicolons following
                 STEP acts like a carriage return if AUTORPT is set.)
                 The entire DATA BREAK SET command, including the cmdlst 
                 parameter, can be up to 80 characters long.

Discussion 

This command allows you to set a data-change breakpoint or a data-value
breakpoint at a specified item within the Transact/iX program.  If a
data-change breakpoint is set, the breakpoint count value is decremented
each time the item value changes.  When the count reaches zero, control
returns to TRANDEBUG, and the breakpoint information is displayed.

If a data-value breakpoint is set, anytime the item value changes and the
desired relation between the data item and the supplied value becomes
true, a data breakpoint occurs and control returns to TRANDEBUG.

For either breakpoint type, if the item is listed again or if the item is
removed from the list register, a data breakpoint occurs and control
returns to TRANDEBUG.

This command can be used to determine which instruction is modifying a
specific data item.  The data breakpoint will always occur at the
instruction after the one that modified the data item.  TRANDEBUG
displays a message if the data breakpoint is set successfully.  You can
only set data breakpoints in the current system.

The range of valid breakpoints is 0 to 63.  A combined total of up to 64
breakpoints can be set using the DATA BREAK SET and DATA BREAK REGISTER
commands.  Another set of up to 64 breakpoints can be set using the BREAK
SET command.

Examples 

The following examples show the setting of data breakpoints in TRANDEBUG.

     TRANDEBUG> data break set item1 

                  DATA BREAKPOINT SET:

                     SYSTEM  ITEM NAME             LENGTH  COUNT    TYPE
                    _____________________________________________________
                0. MYPROG  ITEM1                   4       1      CHANGE

     TRANDEBUG> data break set item2,,,{DISPLAY MATCH} 

                  DATA BREAKPOINT SET:

                     SYSTEM  ITEM NAME             LENGTH  COUNT    TYPE
                    _____________________________________________________
                1. MYPROG  ITEM2                    4       1    CHANGE
                       CMD LIST>>>>> DISPLAY MATCH

     TRANDEBUG> continue 

                DATA BREAKPOINT ENCOUNTERED, EXECUTION STOPPED:
                'ITEM2' VALUE HAS CHANGED:
                OLD VALUE>>>>> 5
                NEW VALUE>>>>> -1

                MATCH REGISTER:

                ITEM1      EQ    :  123

     TRANDEBUG> data break set item3, EQ,abcd 

                  DATA BREAKPOINT SET:

                     SYSTEM  ITEM NAME             LENGTH  COUNT    TYPE
                    _____________________________________________________
                2. MYPROG  ITEM3                   4       1      VALUE
                       EQ VALUE>>>>>> abcd

     TRANDEBUG> dbs item4,LE,3,{DISPLAY MATCH} 

                  DATA BREAKPOINT SET:

                     SYSTEM  ITEM NAME             LENGTH  COUNT    TYPE
                    _____________________________________________________
                1. MYPROG  ITEM4                   4       1      VALUE
                       LE VALUE>>>>> 3
                       CMD LIST>>>>> DISPLAY MATCH

     TRANDEBUG> continue 

                DATA BREAKPOINT ENCOUNTERED, EXECUTION STOPPED:
                'ITEM4' DATA VALUE BREAKPOINT
                        LE VALUE>>>>> 3

                MATCH REGISTER:

                ITEM1      EQ    :  123

The column TYPE shows the data breakpoint type VALUE or CHANGE. VALUE
means that a breakpoint is related to a specified value.  The value that
causes the breakpoint is displayed after the string VALUE>>>>> and can
take multiple lines.  The relation between the item name and the value
that causes the breakpoint is displayed in front of the string
VALUE>>>>>.  CHANGE indicates a data breakpoint when the item_name value
changes.  The command list associated with the breakpoint is listed after
the string CMD LIST>>>>> and can also take multiple lines.



MPE/iX 5.0 Documentation