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-61
Modify Register Contents
Considerations
•
When you want to change the current location of a process running in TNS or 
accelerated mode, you modify the value of the P register. If the process is a 
multiple-segment process, you must also change the space identifier. You change 
the space identifier in order to change the location of the process to a different 
code segment.
(It is also possible to change the current location of a process running in native 
mode, but doing so requires knowledge of native mode internals and is beyond the 
scope of this manual.)
•
In the TNS environment, ENV.<0:7> cannot be modified by specifying E for the 
register parameter, except in privileged mode. However, in nonprivileged mode, 
Debug does allow you to modify ENV.<4> and ENV.<7> by specifying SP for the 
register parameter.
The LS (ENV.<4>) and CS (ENV.<7>) fields in the ENV register must agree with 
the UC, UL, SC, and SL fields in the space identifier. Therefore, to modify 
ENV.<4> or ENV.<7>, set new-value for the SP register parameter as follows: 
Note that a nonprivileged user cannot set CS to 1, which would be system code or 
system library.
•
When modifying the bit values of the $FCR31 register, the modification is made to 
the local copy maintained by Debug. Although you can display the modified value 
of the register, the copy that is placed in the original $FCR31 register when the 
program resumes might be different than the modified value. Bits cannot be set in 
undefined fields of the register, and the value of the CAUSE field cannot be 
modified. Applying only selected bit fields reduces program failure when the 
program is resumed.
new-value changes ENV.<4> to changes ENV.<7> to
UC 0 0
UL 1 0
SC (priv mode only) 0 1 
SL (priv mode only) 1 1










