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>
.