Skip Navigation Links | |
Exit Print View | |
![]() |
man pages section 3: Realtime Library Functions Oracle Solaris 10 1/13 Information Library |
- interfaces in libthread_db that target process memory access
#include <proc_service.h> ps_err_e ps_pread(struct ps_prochandle *ph, psaddr_t addr, void *buf, size_t size);
ps_err_e ps_pwrite(struct ps_prochandle *ph, psaddr_t addr, const void *buf, size_t size);
ps_err_e ps_pdread(struct ps_prochandle *ph, psaddr_t addr, void *buf, size_t size);
ps_err_e ps_pdwrite(struct ps_prochandle *ph, psaddr_t addr, const void *buf, size_t size);
ps_err_e ps_ptread(struct ps_prochandle *ph, psaddr_t addr, void *buf, size_t size);
ps_err_e ps_ptwrite(struct ps_prochandle *ph, psaddr_t addr, const void *buf, size_t size);
These routines copy data between the target process's address space and the controlling process. ps_pread() copies size bytes from address addr in the target process into buf in the controlling process. pr_pwrite() is like ps_pread() except that the direction of the copy is reversed; data is copied from the controlling process to the target process.
ps_pdread() and ps_ptread() behave identically to ps_pread(). ps_pdwrite() and ps_ptwrite() behave identically to ps_pwrite(). These functions can be implemented as simple aliases for the corresponding primary functions. They are artifacts of history that must be maintained.
The call returned successfully. size bytes were copied.
Some part of the address range from addr through addr+size-1 is not part of the target process's address space.
The function did not return successfully.
See attributes(5) for description of the following attributes:
|
libc_db(3LIB), librtld_db(3LIB), proc_service(3PROC), rtld_db(3EXT), attributes(5), threads(5)