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-25
Set Unconditional Memory-Access Breakpoint
access
indicates the type of memory access that triggers the breakpoint.
ALL
specifies a privileged attribute for the memory-access breakpoint. ALL specifies
that the breakpoint applies to all processes in the processor executing the process
being debugged. The ALL option is allowed only if you are debugging in privileged
mode as described under the PRV command.
Considerations
•
Only one memory-access breakpoint can be set for each process.
•
If a privileged memory-access breakpoint is set with the ALL option specified, all
other memory-access breakpoints set for processes in the same processor are
inhibited. When the privileged breakpoint with the ALL option is cleared, the other
breakpoints return to use.
•
When you set a breakpoint, Debug displays information describing this breakpoint.
For a description of the information displayed, see “Display Breakpoints” under the
B command.
•
If a memory-access breakpoint was planted during a nonprivileged debugging
session and is triggered by the execution of privileged code, control is not returned
to Debug until the process is no longer executing privileged code. At the point
where control is returned to Debug, if the process is still executing in either the
system code or the system library space, you are not allowed to modify code in
that space (either directly or indirectly, by setting a code breakpoint). If you want to
return to a procedure that was called earlier and that is not in system code or
system library, you can execute a T command and set a breakpoint at a location
based on the activation record of that procedure as shown in the stack trace.
If the memory-access breakpoint was planted during a privileged debugging
session, control passes to debug immediately.
•
For a conditional breakpoint, the system attempts to evaluate the condition as soon
as the memory access is detected. However, that evaluation occurs in a restricted
environment in which absent pages cannot be made present. If the condition
requires accessing an absent page, the condition is tentatively deemed to be “true”
R Break on a read access
R
W
Break on a read/write access
W
R
Break on a read/write access; equivalent to RW
W Break on a write access
C Break on a change access