HP-UX Reference (11i v3 07/02) - 2 System Calls (vol 5)

t
ttrace(2) ttrace(2)
The addr argument points to a location in the calling processs address space containing an
array of up to TT_VEC_MAX tt_reg_vec s, each containing the arguments for the
request(s) to be performed. The tt_reg_vec_t structure contains the following fields:
Name Type Description
ttrv_reg uint64_t Register to read
ttrv_size uint64_t Size to read
Points to the location in the
calling process’s address
space where the data will
be written.
ttrv_addr
The ttrv_reg , ttrv_size , and ttrv_addr arguments correspond to the addr, data, and addr2
arguments (respectively) of the
TT_LWP_RUREGS
request. See the description of the
TT_LWP_RUREGS request for details.
The data argument specifies the number of request elements in the array pointed to by
addr.
The addr2 argument points to an 8-byte location in the calling processs address space into
which the number of successful requests will be written. The TT_VEC_LWP_RUREGS
request stops processing requests upon encountering an error.
Non-debug-related Request
There is currently only one non debug-related request:
TT_NDR_GET_FLEV
This call returns the feature level of the operating system and has been introduced to help
debugger developers make their tools more portable from one version to another. The pid,
lwpid, addr, data, and addr2 arguments must be 0 (zero).
11.0 systems can be identified by the fact that this call will return an error. Later releases
will return the TT_FEATURE_LEVEL
value the operating system was compiled with (see
ttrace.h). The release levels for systems newer than 11.0 are:
Level 5: internal change.
Level 6: add DETACH_ON_EXIT
attach option.
Level 7: add
TTEVT_BPT_SSTEP
event.
Level 8: add
TT_PROC_SET_IBPT
, TT_PROC_SET_DBPT, TT_PROC_GET_IBPT
,
TT_PROC_GET_DBPT
, TT_PROC_GET_NUM_IBPT_REGS,
TT_PROC_GET_NUM_DBPT_REGS
, TT_PROC_GET_ARGS,
TT_LWP_SET_IBPT,
TT_LWP_SET_DBPT, TT_LWP_GET_IBPT,
TT_LWP_GET_DBPT,
TT_LWP_RDRSEBS, TT_LWP_WRRSEBS,
TT_LWP_TBRANCH requests.
Level 9: add
TT_PROC_GET_SIGMASK, TT_PROC_SET_SIGMASK
,
TT_LWP_GET_SIGMASK, TT_LWP_SET_SIGMASK
requests.
Level 10: add
TTEVT_PREFORK, TTEVT_FORK_FAIL
events.
Level 11: allow the
TT_PROC_CORE request to generate user specified core file names.
Level 12: add _NOATTACH requests.
Level 13: add TTEVT_UT_CREATE, TTEVT_UT_EXIT
events.
Level 14: add
TT_PROC_GET_ARGS_NOATTACH, TT_VEC_GENERIC
,
TT_VEC_LWP_RUREGS requests; add syscall timestamps; and add
TT_GEN_SHLIB_BPT settrc/attach option.
Events
As noted earlier, a tracing process can set event flags in the context of a traced process, or its individual
threads, to cause the threads to respond to specific events during their execution. When an event flag is set
in the context of the process, all threads in the process respond to the event. When set in the context of a
HP-UX 11i Version 3: February 2007 13 Hewlett-Packard Company 509