System Debug Reference Manual (32650-90888)
86 Chapter4
System Debug Command Specifications :-Exit
B (break)
as a logical address for this command, the space (SID) for the program file is assumed. A
STOLOG conversion (
not
STOL) with the "prog" selector is used to accomplish this.
$nmdebug > b processstudent,,, {wl "Processing #" r26:"d";c}
added: NM [3] PROG 115.00005d24 processstudent
Set a breakpoint at the procedure called processstudent and provide a command list to
be executed
each time
the breakpoint is encountered. In this example, we know that the
student number being processed is passed to the routine in general register 26. Each time
the routine is entered, Debug prints the student number and automatically continue
execution of the process.
$nmdebug > b nmaddr("processstudent.highscore"),-1
added: NM T[4] PROG 115.00005b50 processstudent.highscore
Set a breakpoint at the nested procedure highscore that is contained in the level 1
procedure processstudent. The NMADDR function is used to specify the breakpoint address
since the expression
parent_proc
.
nested_proc
would not have been recognized by the
expression evaluator (
a
.
b
implies
space
.
offset
, for example, a long pointer). This
breakpoint is a temporary breakpoint, which is automatically deleted after it is
encountered. T[4] indicates a temporary breakpoint with index number 4.
$nmdebug > b average
added: NM [5] GRP 118.00015c88 average
$nmdebug > bg average+4
added: NM [6] GRP 118.00015c8c average+$4
$nmdebug > b grp(average)+8
added: NM [7] GRP 118.00015c90 average+$8
$nmdebug > bs average
Missing or invalid logical code address. (error #1741)
Set a breakpoint at the procedure average. Notice that the routine was found in the group
(GRP) library. The B command starts searching for symbol names in the program file and
continues through all of the loaded library files until a match is found. The second example
uses the BG command to explicitly restrict the search for symbol names to the group
library. The third example shows how the coercion function GRP is used to restrict
procedure name lookups to the group library. In the fourth example above, the BS
command is used to restrict the search for procedure names to the system library. The
routine average was not found in the system library, and so an error was generated.
$nmdebug > dc pc
GRP $118.15c88
00015c88 average 0000400e BREAK (nmdebug bp)
$nmdebug > wl r2
$15c77
$nmdebug > wl sr4
$118
$nmdebug > b r2