zidong 发表于 2019-2-18 08:02:10

linux调试器

第一个参数决定了ptrace的行为与其它参数的使用方法,可取的值有:  PTRACE_ME
  PTRACE_PEEKTEXT
  PTRACE_PEEKDATA
  PTRACE_PEEKUSER //取得与子进程相关的寄存器值
  orig_eax = ptrace(PTRACE_PEEKUSER,   child, 4 * ORIG_EAX, NULL);
  PTRACE_POKETEXT
  PTRACE_POKEDATA
  PTRACE_POKEUSER
  PTRACE_GETREGS//可以只需一次函数调用就取得所有的相关寄存器值。
  PTRACE_GETFPREGS,//
  PTRACE_SETREGS
  PTRACE_SETFPREGS
  PTRACE_CONT
  PTRACE_SYSCALL, //使内核在子进程做出系统调用或者准备退出的时候暂停它
  PTRACE_SINGLESTEP//会使内核在子进程的每一条指令执行前先将其阻塞,然后将控制权交给父进程。
  ins = ptrace(PTRACE_PEEKTEXT,   child, regs.eip,   NULL);
  PTRACE_DETACH       //使子进程继续运行下去
  PTRACE_TRACEME//附加
  PTRACE_ATTACH      //附加并调试

页: [1]
查看完整版本: linux调试器