| Skip Navigation Links | |
| Exit Print View | |
![]() | man pages section 3: Basic Library Functions Oracle Solaris 11 Information Library |
enable_extended_FILE_stdio(3C)
posix_spawnattr_getschedparam(3C)
posix_spawnattr_getschedpolicy(3C)
posix_spawnattr_getsigdefault(3C)
posix_spawnattr_getsigignore_np(3C)
posix_spawnattr_getsigmask(3C)
posix_spawnattr_setschedparam(3C)
posix_spawnattr_setschedpolicy(3C)
posix_spawnattr_setsigdefault(3C)
posix_spawnattr_setsigignore_np(3C)
posix_spawnattr_setsigmask(3C)
posix_spawn_file_actions_addclose(3C)
posix_spawn_file_actions_addclosefrom_np(3C)
posix_spawn_file_actions_adddup2(3C)
posix_spawn_file_actions_addopen(3C)
posix_spawn_file_actions_destroy(3C)
posix_spawn_file_actions_init(3C)
pthread_attr_getdetachstate(3C)
pthread_attr_getinheritsched(3C)
pthread_attr_getschedparam(3C)
pthread_attr_getschedpolicy(3C)
pthread_attr_setdetachstate(3C)
pthread_attr_setinheritsched(3C)
pthread_attr_setschedparam(3C)
pthread_attr_setschedpolicy(3C)
pthread_barrierattr_destroy(3C)
pthread_barrierattr_getpshared(3C)
pthread_barrierattr_setpshared(3C)
pthread_condattr_getpshared(3C)
pthread_condattr_setpshared(3C)
pthread_cond_reltimedwait_np(3C)
pthread_key_create_once_np(3C)
pthread_mutexattr_getprioceiling(3C)
pthread_mutexattr_getprotocol(3C)
pthread_mutexattr_getpshared(3C)
pthread_mutexattr_getrobust(3C)
pthread_mutexattr_setprioceiling(3C)
pthread_mutexattr_setprotocol(3C)
pthread_mutexattr_setpshared(3C)
pthread_mutexattr_setrobust(3C)
pthread_mutex_getprioceiling(3C)
pthread_mutex_reltimedlock_np(3C)
pthread_mutex_setprioceiling(3C)
pthread_rwlockattr_destroy(3C)
pthread_rwlockattr_getpshared(3C)
pthread_rwlockattr_setpshared(3C)
pthread_rwlock_reltimedrdlock_np(3C)
pthread_rwlock_reltimedwrlock_np(3C)
pthread_rwlock_timedrdlock(3C)
pthread_rwlock_timedwrlock(3C)
rctlblk_get_enforced_value(3C)
- reading and writing thread registers in libc_db
cc [flag... ]file... -lc_db [library... ]#include <proc_service.h>#include <thread_db.h>td_err_etd_thr_getgregs(const td_thrhandle_t *th_p,prgregset_tgregset);
td_err_etd_thr_setgregs(const td_thrhandle_t *th_p,prgregset_tgregset);
td_err_etd_thr_getfpregs(const td_thrhandle_t *th_p,prfpregset_t *fpregset);
td_err_etd_thr_setfpregs(const td_thrhandle_t *th_p,prfpregset_t *fpregset);
td_err_etd_thr_getxregsize(const td_thrhandle_t *th_p,int *xregsize);
td_err_etd_thr_getxregs(const td_thrhandle_t *th_p,prxregset_t *xregset);
td_err_etd_thr_setxregs(const td_thrhandle_t *th_p,prxregset_t *xregset);
These functions read and write the register sets associated with threadth_p.Thetd_thr_getgregs() andtd_thr_setgregs() functions get and set, respectively, the general registersof threadth_p. Thetd_thr_getfpregs() andtd_thr_setfpregs() functions get and set, respectively, thethread's floating point register set. Thetd_thr_getxregsize(),td_thr_getxregs(), andtd_thr_setxregs() functions are system-specific.Thetd_thr_getxregsize() function returns in *xregsize the size of the architecture-dependent extrastate registers. Thetd_thr_getxregs() andtd_thr_setxregs() functions get and set, respectively, those extrastate registers. On systems that does not support extra state registers, thesefunctions returnTD_NOXREGS.
If the thread specified byth_p is currently executing on a lightweightprocess ( LWP), these functions read or write, respectively, the appropriate registerset to the LWP using the imported interface. If the threadis not currently executing on an LWP, the floating point and extrastate registers may cannot be read or written. Some of the generalregisters might also not be readable or writable, depending on the architecture,in which casetd_thr_getfpregs() andtd_thr_setfpregs() returnTD_NOFPREGS andtd_thr_getxregs() andtd_thr_setxregs() willTD_NOXREGS. Calls totd_thr_getgregs() andtd_thr_setgregs() succeed, but values returnedfor unreadable registers are undefined, values specified for unwritable registers are ignored. Inthis instance, andTD_PARTIALREGS is returned. See the architecture-specific notes thatfollow regarding the registers that may be read and written for athread not currently executing on an LWP.
On a thread not currently assigned to an LWP, only %i0-%i7, %l0-%l7,%g7, %pc, and %sp (%o6) can be read or written. %pcand %sp refer to the program counter and stack pointer that thethread will have when it resumes execution.
On a thread not currently assigned to an LWP, only %pc, %sp,%ebp, %edi, %edi, and %ebx can be read.
The call completed successfully.
An invalid thread handle was passed in.
A call to one of the imported interface routines failed.
Because the thread is not currently assigned to a LWP, not all registers were read or written. SeeDESCRIPTION for a discussion about which registers are not saved when a thread is not assigned to an LWP.
Floating point registers could not be read or written, either because the thread is not currently assigned to an LWP, or because the architecture does not have such registers.
System-dependent extra state registers could not be read or written, either because the thread is not currently assigned to an LWP, or because the architecture does not have such registers, or because the system does not have extra state registers.
Alibc_db internal error occurred.
Seeattributes(5) for description of the following attributes:
|
Copyright © 2011, Oracle and/or its affiliates. All rights reserved.Legal Notices | ![]() ![]() |