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-11
Set Conditional Code Breakpoint
For more information about how to use the noft utility, see the nld Manual and the noft
Manual.
Set Conditional Code Breakpoint
The B command can set a conditional code breakpoint. A conditional code breakpoint
causes a process to enter the debug state when both the breakpoint location is
executed and a specified variable matches a predetermined condition. The conditional
form of the B command is:
address
is the code address where the breakpoint is to occur. For more information, see
Address Syntax on page 3-12. The address mode must follow the same guidelines
as those stated earlier in this section for specifying the code address when setting
an unconditional code breakpoint.
test-address
is the address of the variable to be tested. The syntax for test-address is the
same as the Address Syntax on page 3-12, but it is limited to only data locations
and the Q-mode syntax is not allowed. If test-address is an N mode address,
test-address refers to a 32-bit variable.
register
is a processor register. For more information, see Register Syntax on page 3-7.
For a TNS process, when registers R0 through R7 are specified, the values in the
registers are evaluated when the breakpoint is executed. Other registers are
evaluated to a memory location pointed by the registers when the breakpoint is
executed.
For a TNS/R process, any register except the floating-point registers can be used.
mask
is an expression. The mask parameter is logically ANDed with the value of the
register parameter or the value pointed to by the test-address parameter
and the constant parameter before the condition is tested. The comparison
values are treated as signed values. The value for mask is 32 bits if a TNS/R
register or an N mode test-address value is used; otherwise, the value is 16
bits.
B address
{, {test-address |register} [& mask] op constant[, ALL ]}
{ [, ALL ] , {test-address | register}[& mask]
op constant }