Debug Manual
Table Of Contents
- What’s New in This Manual
- About This Manual
- 1 Introduction
- Execution Modes on TNS/R Systems
- What User Access Is Required for Debugging
- How to Make a Process Enter Debug
- How to Select Debug as the Debugger
- Why a Process Enters Debug
- How to Determine Process State on a Trap or Signal
- Ending a Debug Session
- What Appears in the Debug Header Message
- How to Use Debug
- How Debug Breakpoints Work
- 2 Using Debug on TNS/R Processors
- 3 Debug Command Overview
- 4 Debug Commands
- Command Summary
- A Command
- AMAP Command
- B Command
- BASE Command
- BM Command
- C Command
- CM Command
- D Command
- DJ Command
- DN Command
- EX[IT] Command
- F[ILES] Command
- FC Command
- FN Command
- FNL Command
- FREEZE Command
- HALT Command
- H[ELP] Command
- I Command
- IH Command (TNS/R Native and OSS Processes)
- INSPECT Command
- LMAP Command
- M Command
- MH Command (TNS/R Native and OSS Processes)
- P[AUSE] Command
- PMAP Command (Accelerated Programs)
- PRV Command
- R Command
- S[TOP] Command
- T Command
- V Command
- VQ Command
- VQA Command
- = Command
- ? Command
- A Error Messages
- B ASCII Character Set
- C Command Syntax Summary
- Register Syntax
- Expression Syntax
- Address Syntax
- A Command
- AMAP Command
- B Command
- BASE Command
- BM Command
- C Command
- CM Command
- D Command
- DJ Command
- DN Command
- EX[IT] Command
- F[ILES] Command
- FC Command
- FN Command
- FNL Command
- FREEZE Command
- HALT Command
- H[ELP] Command
- I Command
- IH Command
- INSPECT Command
- LMAP Command
- M Command
- MH Command
- Output-Device Syntax
- P[AUSE] Command
- PMAP Command
- PRV Command
- R Command
- S[TOP] Command
- T Command
- V Command
- VQ Command
- VQA Command
- = Command
- ? Command
- D Session Boundaries
- E Correspondence Between Debug and Inspect Commands
- F Sample Debug Sessions
- Glossary
- Index

Debug Commands
Debug Manual—421921-003
4-69
T Command
[OUT] output-dev
specifies where the display is directed. Debug output can be directed to an output
device, a process, or a spooler collector. Debug output cannot be directed to a disk
file. If you omit output-dev, Debug assumes the home terminal.
The output-dev parameter has these formats.
Syntax for a device other than a disk:
[ node.]{device-name[.qualifier ] }
{ldev-number }
Syntax for a named process:
[ node.]process-name[:seq-no][.qual-1[.qual-2] ]
[ node.]$:cpu:pin:seq-no
For syntax descriptions of these process and device names, see the Guardian
Procedure Calls Reference Manual.
Considerations
•
If the process being debugged contains threads, Debug displays a stack trace for
only the thread currently in effect.
•
If the name you specify for output-dev happens to match a register name, a
syntax error might result. To avoid any possibility of ambiguity, include the keyword
OUT before output-dev, which informs Debug that the name refers to an output
device. For example, suppose a printer is named $S1, which is also the name of a
TNS/R register. Specifying OUT $S1 on the T command tells Debug that $S1 is an
output device.
•
In a stack trace displayed by the T command, the top line represents the most
recently called procedure, the second line represents the next most recently called
procedure, and so on. For example, in the following trace, PROMPT called
CHECKRECEIVE.
%004251: %002223 E=%000000 L=%004072 CHECKRECEIVE + %000250
%004070: %006163 E=%000000 L=%003634 PROMPT + %001064
•
There are two ways to start a stack trace at a particular stack frame in native
mode. One way is to indicate where the frame is and which procedure built the
frame. Do this by including the appropriate register = expression
specifications in the T command. For example:
T$RA 0x70302304, $30 0xFFFFFFFF
An alternate and easier way is to examine the stack for a value that is likely to be a
RISC PC address (that is, a value that addresses the SCr, SLr, UCr, or SRL code
space) and provide the address of that value as the expression for the AT
parameter.