System Debug Reference Manual (32650-90888)
278 Chapter6
System Debug Command Specifications M-X
UF
00015d30 average+$a8 ebff0595 BL divoI,31 /* <-- this routine.
00015d34 average+$ac 4bda3f89 LDW -60(0,30),26
00015d38 average+$b0 4bdf3ed9 LDW -148(0,30),31 /* <-- PC is here
00015d3c average+$b4 6bfd0000 STW 29,0(0,31)
00015d40 average+$b8 e840c000 BV 0(2)
00015d44 average+$bc 37de3f31 LDO -104(30),30
$nmdebug > dr r29
R29=$0
$nmdebug > mr r29 4
R29=$0 := $4
$nmdebug > c ignore
The above example starts by arming the XARI trap. The process is allowed to run. During
execution, an arithmetic trap was detected. Debug stops to allow the user to inspect the
state of the process. After viewing the code, it can be seen that the trap occurred in the
divoI millicode routine. By analyzing the trap mask it is determined that the trap was
caused by attempting to divide by zero. The millicode divide routine returns the result of
its operation in general register 29.
After looking at the source code, the bug in the program was discovered. It was determined
that at this point in process execution, the result of the divide should have been "4". The
millicode return register is updated with the correct value. The continue command with
the IGNORE option is issued to resume the process as if the trap never happened. (If the
IGNORE option had been specified, the process would have been terminated by the trap
subsystem.)
Limitations, Restrictions
The XLIBRARY and XSYSTEM trace traps are not implemented.
UF
Debug only
Unfreezes a code segment, data segment, or virtual address (range) in memory.
Syntax
UFC
logaddr
[
bytelength
] Program file
UFCG
logaddr
[
bytelength
] Group library
UFCP
logaddr
[
bytelength
] Account library
UFCLG
logaddr
Logon group library
UFCLP
logaddr
Logon account library
UFCS
logaddr
[
bytelength
] System library
UFCU
fname logaddr
[
bytelength
] User library
UFCA
cmabsaddr
Absolute CST