System Debug Reference Manual (32650-90888)
Chapter 4 89
System Debug Command Specifications :-Exit
B (break)
PROCESSSTUDENT. The expression evaluator found the procedure in the program file in
logical segment zero, at an offset of %1665 CM words from the start of the segment
procedure.
%cmdebug > b 0.1670
added: CM [2] PROG % 0.1670 PROCESSSTUDENT+%263
Set a breakpoint %1670 CM words into the program file's logical segment zero. That
address corresponds to the %263rd CM word from the start of the PROCESSSTUDENT
procedure. Note that this command sets a breakpoint in the program file, no matter where
the process was stopped (in the group library for example), since the B command implies
the program file.
%cmdebug > b 1672
added: CM [3] PROG % 0.1672 PROCESSSTUDENT+%265
Set a breakpoint %1672 CM words into the program file. The logical segment number from
the current value of CMPC is used as the segment number for this command.
%cmdebug > b processstudent+14
added: CM [4] PROG % 0.1421 PROCESSSTUDENT+%14
Set a breakpoint %14 CM words into the start of the procedure PROCESSSTUDENT. This
address corresponds to the first statement of the nested procedure HIGHSCORE which is
contained in the level 1 procedure PROCESSSTUDENT. The correct offset to use for nested
procedures is determined by looking at the statement map produced by the Pascal
compiler. (All language compilers produce similar maps.) Unfortunately, information about
nested procedure names and size is not available for CM programs.
%cmdebug > b ob'+40,-3
added: CM T|5| PROG % 0.40 OB'+%40
Set a breakpoint %40 words into the procedure ob' (the outer block of the Pascal program
being run). The third time the breakpoint is encountered, stop in Debug and delete the
breakpoint. The notation T|5| indicates a temporary breakpoint with index number 2. The
vertical bars indicate that the process does not stop the next time the breakpoint is
encountered, since the count is not yet exhausted.
%cmdebug > b ?average
added: CM [6] GRP % 0.13 ?AVERAGE
%cmdebug > bg ?average+4
added: CM [7] GRP % 0.17 AVERAGE+%17
%cmdebug > b grp(0.20)
added: CM [10] GRP % 0.20 AVERAGE+%20
Set a breakpoint at the entry point to the procedure average. Notice that the procedure
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 specify a logical segment in the group library rather than the program file.
%cmdebug > bs ?fwrite,#100,q,{wl "Another #100 records written";c}