跟踪 - ikarishinjieva/unixV6-code-analyze-chs GitHub Wiki

原理

  • 跟踪原理如图

  • 1] 子进程 调用 ptrace(0,0,0,0),提出跟踪许可,允许父进程跟踪,子进程继续运行
  • 2] 到了 子进程 检测信号的时机,子进程开始处理跟踪,调用stop
  • 3] stop
  • 4] 子进程 暂停,置SSTOP,等待切换到父进程
  • 5] 父进程 调用 ptrace(0,0,0,0),向子进程提出跟踪要求
  • 6] 父进程 进入睡眠,等待子进程处理跟踪要求
  • 7] 子进程 procxmt 处理跟踪要求
    唤醒父进程,等待父进程响应
  • 从3] - 7],构成 一个跟踪过程,不断循环

相关函数

⚠️ **GitHub.com Fallback** ⚠️