System Debug Reference Manual (32650-90888)
274 Chapter6
System Debug Command Specifications M-X
TRAP
CM * 0) SYS % 27.253 SWITCH'TO'NM'+%4 (Mitroc CCG) SUSER1
CM 1) SYS % 25.7765 ATTACHIO+%325 (Mitroc CCG) CMSWITCH
CM 2) SYS % 22.17700 DEALLOCATE+%30 (Mitroc CCG) XLSEG11
CM 3) SYS % 3.5540 F'CLOSE'+%4321 (MitroC CCG) FSSEG3
CM 4) switch marker (Mitroc CCG)
NM d) SP=40201208 RP=a.000a07bc ?CM_SWITCH+$30
export stub: a.0044c3e4 switch_to_cm+$c30
NM e) SP=40201018 RP=a.006f3c84 fclose_nm+$74c
NM f) SP=40200db0 RP=a.006e62a8 FCLOSE+$368
NM 10) SP=40200aa8 RP=a.0036a0b0 fs_proc_term+$a4
NM 11) SP=40200a00 RP=a.00197550 terminate_process+$318
NM 12) SP=40200948 RP=a.00326fb0 TERMINATE+$28
NM 13) SP=40200668 RP=a.00326a2c ?TERMINATE+$8
export stub: a.003e30e4 arg_regs+$28
NM 14) SP=40200638 RP=a.0044db34 nm_switch_code+$f30
NM 15) SP=40200508 RP=a.000a09b0 cm_swtnm_call+$8
(switch marker frame)
CM 5) SYS % 27.253 SWITCH'TO'NM'+%4 (MITroc CCG) SUSER1
CM 6) SYS % 25.5 TERMINATE+%5 (MITroc CCG) CMSWITCH
CM 7) PROG % 0.244 (mITroc CCE)
CM 10) SYS % 25.0 ?TERMINATE (MItroc CCG) CMSWITCH
NM 16) SP=40200278 RP=a.0030d868 outer_block+$144
NM 17) SP=40200088 RP=a.00000000
(end of NM stack)
$nmdat >
The above example shows an interleaved NM and CM stack trace.
Limitations, Restrictions
The DUAL option is ignored if the current mode is not the same as the original entry mode.
(Refer to the ENV ENTRY_MODE command.)
When CM code has been translated, it is not possible to obtain dual mode stack traces. The
NM and CM stacks may be traced individually, however.
People debugging the operating system need to be aware of the following limitation. If an
interrupt handler is running that has interrupted code running in CM mode, dual stack
trace is incorrect. In addition, not all of the CM stack may be shown.
Native mode stack trace depends on the presence and accuracy of unwind descriptors in
the program file and libraries to trace stacks. If these descriptors are not present,
corrupted, or not correctly sorted, System Debug may produce incorrect stack traces.
DAT is only able to trace the part of the NM stack that corresponds to code in NL.PUB.SYS.
If by chance the unwind descriptors of the code that called the NL routines are resident,
the stacked procedure calls are displayed all the way to the base of the stack. The names of
the procedures in other libraries and program files are not known to DAT.
TRAP
Debug only