我有一个关于 ptrace 的简单问题。这是一个非常简单的 C 源代码:
ptrace(PTRACE_ATTACH, pid, 0, 0);
int status;
waitpid(pid, &status, WSTOPPED);
while (1) {
ptrace(PTRACE_SINGLESTEP, pid, 0, 0);
"here i must display a message when a syscall is executed."
}
我只想知道当与参数中的 pid 关联的进程使用系统调用而不使用 PTRACE_SYSCALL 时,我必须在循环中添加什么来编写消息(例如“ok”)...有人知道吗?例如,我可以使用 ptrace(PTRACE_PEEKUSER...) 获取调用的返回值,如果该值不等于 -1... 我只想在不使用 ptrace_sycall 的情况下获取进程 pid 中每个系统调用的返回值并使用 ptrace_attach。 我向你表示感谢。