PTRACE_TRACEME 错误“操作不允许”

PTRACE_TRACEME 错误“操作不允许”

我正在尝试使用 PTRACE_TRACEME 来跟踪子进程:

if (ptrace(PTRACE_TRACEME, 0, NULL, NULL) == -1) {
   perror("ptrace_traceme");
   exit(EXIT_FAILURE);
}

我得到了错误:

ptrace_traceme: Operation not permitted

据我了解,该问题的原因是安全功能。

我尝试将 - 更改kernel.yama.ptrace_scope = 1为:kernel.yama.ptrace_scope = 0

我还检查了 SELinux 是否已禁用。关于 strace,我看到 strace 可以解决这个问题,但我不明白如何解决,有些问题:strace -f ./program_name

此外,我以 root 身份运行该程序,但问题仍然没有解决,我开始认为该问题与安全功能无关。

顺便说一句,我正在使用 Ubuntu 22.04。

谢谢你的帮助!

相关内容