ttrace.2 (2010 09)
t
ttrace(2) ttrace(2)
TT_LWP_GET_STATE
This calls returns the state of the thread identified by lwpid . If the thread was not previ-
ously stopped by the debugger or waiting to be continued after an event, an error is
returned.
TT_LWP_SET_IBPT_REGS
, TT_LWP_SET_DBPT_REGS
These requests write per-thread breakpoint values into breakpoint registers. data bytes
from addr2 will be written to the instruction or data breakpoint register(s) named by
addr. For Itanium-based systems, addr must be an even number less than the value
returned by
TT_PROC_GET_NUM_IBPT_REGS
or TT_PROC_GET_NUM_DBPT_REGS
respectively. data must be 16 bytes. The request will set a value into the pair of instruc-
tion or data breakpoint registers addr and addr+1 . These values will be enabled only
when the specified thread is running. They are identical to
TT_PROC_SET_IBPT_REGS
and TT_PROC_SET_DBPT_REGS
respectively in other
respects.
Note: The available breakpoint registers must be shared between process-wide break-
points and per-thread breakpoints. If a breakpoint register is currently being used as a
process-wide breakpoint within the target process, it may not be used for a per-thread
breakpoint in any thread of the target process.
Note: These requests are not supported on PA-RISC versions of HP-UX.
TT_LWP_GET_IBPT_REGS
, TT_LWP_GET_DBPT_REGS
These requests read per-thread breakpoint values from breakpoint registers. They are
identical to TT_PROC_GET_IBPT_REGS
and TT_PROC_GET_DBPT_REGS respectively
in other respects.
Note: These requests are not supported on PA-RISC versions of HP-UX.
TT_LWP_RDRSEBS, TT_LWP_WRRSEBS
, TT_LWP_RDRSEBS_NOATTACH
These requests allow the calling process to access stacked general register values that
have not yet been written to the RSE backing store. data bytes that would have been
spilled at addr on the user’s RSE backing store, had the RSE been flushed, are copied to
or from addr2 in the calling process. The addr argument must be 8-byte-aligned and
conform to ar.bspstore ≤ addr < ar.bsp. data must be a multiple of 8 bytes, and
addr+data must also conform to ar.bspstore ≤ addr+data <= ar.bsp.Asaspecial
case, to retrieve the final NaT collection, addr == ar.bsp | 0x1f8 and data ==
8 is
also accepted.
Note: This facility should be used only to modify values of registers that were dirty when
the thread was stopped. Do not use this facility if the values of ar.bsp or ar.bspstore have
been modified.
Note: These requests are not supported on PA-RISC versions of HP-UX.
TT_LWP_RUREGS, TT_LWP_RUREGS_NOATTACH
With these requests, on Itanium-based systems the register specified by addr is returned
to the calling process making the request. The data argument is the size of the read.
The addr2 argument points to the location in the calling process’s address space where
the data will be written. The addr argument must be a value defined by __uregs_t in
<machine/sys/uregs.h>.
The registers that may be read or written vary depending on whether the target thread is
stopped in a syscall or interruption context. Retrieve the __reason value first to deter-
mine which applies. The following registers may be read or written in each context:
Reg Interruption Syscall Notes
__gp
__r1
R/W R/W Global Pointer
__r2-__r3 R/W Reads as 0 Scratch registers
HP-UX 11i Version 3: September 2010 − 9 − Hewlett-Packard Company 9