我正在尝试使用 gdb 附加一个程序,但它返回:
附加到进程 29139
无法附加到进程。如果您的 uid 与目标进程的 uid 匹配,请检查 /proc/sys/kernel/yama/ptrace_scope 的设置,或以 root 用户身份重试。有关更多详细信息,请参阅 /etc/sysctl.d/10-ptrace.conf
ptrace:不允许操作。
gdb-debugger 返回“无法附加到进程,请检查权限并重试。”
strace 返回“附加:ptrace(PTRACE_ATTACH,...):不允许操作”
我将 "kernel.yama.ptrace_scope" 1 更改为 0 和/proc/sys/kernel/yama/ptrace_scope
1 更改为 0 并尝试set environment LD_PRELOAD=./ptrace.so
这样做:
#include <stdio.h>
int ptrace(int i, int j, int k, int l) {
printf(" ptrace(%i, %i, %i, %i), returning -1\n", i, j, k, l);
return 0;
}
但它仍然返回相同的错误。如何将它附加到调试器?