电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

Linux源码分析PTRACEVIP免费

Linux源码分析PTRACE_第1页
1/47
Linux源码分析PTRACE_第2页
2/47
Linux源码分析PTRACE_第3页
3/47
Linu x 源码分析(ptrace) 第1页 一 函数说明 1 . 函数使用说明 名字 ptrace – 进程跟踪 形式 #inclu de int ptrace(int requ est, int pid, int addr, int data); 描述 Ptrace 提供了一种父进程可以控制子进程运行,并可以检查和改变它的核心image。它主要用于实现断点调试。一个被跟踪的进程运行中,直到发生一个信号。则进程被中止,并且通知其父进程。在进程中止的状态下,进程的内存空间可以被读写。父进程还可以使子进程继续执行,并选择是否是否忽略引起中止的信号。 Requ est 参数决定了系统调用的功能: PTRACE_TRACEME 本进程被其父进程所跟踪。其父进程应该希望跟踪子进程。 PTRACE_PEEKTEXT, PTRACE_PEEKDATA 从内存地址中读取一个字节,内存地址由 addr 给出。 PTRACE_PEEKUSR 从 USER 区域中读取一个字节,偏移量为 addr。 PTRACE_POKETEXT, PTRACE_POKEDATA 往内存地址中写入一个字节。内存地址由 addr 给出。 PTRACE_POKEUSR 往 USER 区域中写入一个字节。偏移量为 addr。 PTRACE_SYSCALL, PTRACE_CONT 重新运行。 PTRACE_KILL 杀掉子进程,使它退出。 PTRACE_SINGLESTEP 设置单步执行标志 PTRACE_ATTACH 跟踪指定 pid 进程。 PTRACE_DETACH 结束跟踪 Intel386 特有: PTRACE_GETREGS 读取寄存器 Linu x 源码分析(ptrace) 第2页 PTRACE_SETREGS 设置寄存器 PTRACE_GETFPREGS 读取浮点寄存器 PTRACE_SETFPREGS 设置浮点寄存器 init 进程不可以使用此函数 返回值 成功返回0。错误返回-1。errno 被设置。 错误 EPERM 特殊进程不可以被跟踪或进程已经被跟踪。 ESRCH 指定的进程不存在 EIO 请求非法 2 . 功能详细描述 1) PTRACE_TRACEME 形式:ptrace(PTRACE_TRACEME,0 ,0 ,0) 描述:本进程被其父进程所跟踪。其父进程应该希望跟踪子进程。 2) PTRACE_PEEKTEXT, PTRACE_PEEKDATA 形式:ptrace(PTRACE_PEEKTEXT, pid, addr, data) ptrace(PTRACE_PEEKDATA, pid, addr, data) 描述:从内存地址中读取一个字节,pid 表示被跟踪的子进程,内存地址由 addr 给出,data为用户变量地址用于返回读到的数据。在 Linu x (i386)中用户代码段与用户数据段重合所以读取代码段和数据段数据处理是一样的。 3) PTRACE_POKETEXT, PTRACE_POKEDATA 形式:ptrace(PTRACE_POKETEXT, pid, addr, da...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

Linux源码分析PTRACE

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部