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

Introduction
Debug Manual—421921-003
1-2
What User Access Is Required for Debugging
A TNS/R native process is a process that is initiated by executing a native program,
which contains native code. A TNS process is a process that is initiated by executing a
TNS or accelerated program, which contains TNS or accelerated object code.
Debug can be used with either type of process and with any of these execution modes.
Functionally, Debug is the same for all of these cases, although there are minor
differences in syntax, input and output formats, and so on. These differences are
noted throughout the manual.
What User Access Is Required for Debugging
To debug a program, you must have both read and execute access to the file for that
program. To debug code in the user library, you must also have read and execute
access to that user library file. To debug system code or any privileged code, you
must be executing under the local super ID (255, 255) and issue the PRV ON
command.
How to Make a Process Enter Debug
There are six ways to force a process into the debug state:
•
Using the RUND Command (or the TACL run option DEBUG)
•
Invoking Debug From TACL for a Process on page 1-3
•
Calling Debug From a Process on page 1-4
•
Entering a Breakpoint in a Process on page 1-5
•
Running Debug From the OSS Shell on page 1-6
Using the RUND Command
Running a program with the command interpreter RUND (run Debug) command
causes the process to enter the debug state before the first instruction of the main
procedure is executed.
Example:
10> RUND myprog
Using the TACL run option DEBUG is equivalent to using the RUND command. The
following example uses the run option DEBUG and also requests a system-assigned
name.