gdb无法附加到进程

这是我正在使用的操作系统:

Linux securecluster 4.9.8-moby#1 SMP Wed Feb 8 09:56:43 UTC 2017 x86_64 x86_64 x86_64 GNU / Linux

当试图以挂接用户的身份挂接gdb时,我得到了以下结果:

Attaching to process 9636 Could not attach to process. If your uid matches the uid of the target process, check the setting of /proc/sys/kernel/yama/ptrace_scope, or try again as the root user. For more details, see /etc/sysctl.d/10-ptrace.conf ptrace: Operation not permitted. 

我修改了/etc/sysctl.d/10-ptrace.conf,导致:

 kernel.yama.ptrace_scope = 0 

但是,我得到了同样的错误。 我试着改变/ proc / sys / kernel / yama / ptrace_scope:

 echo 0 | tee /proc/sys/kernel/yama/ptrace_scope tee: /proc/sys/kernel/yama/ptrace_scope: Read-only file system 

提示是赞赏。

你在使用容器引擎吗? 尝试从容器的外部(在主机上)附加进程; 它可能有不同的PID。

或者,使用CAPS_SYS_PTRACEfunction启动容器(例如,使用--cap-add sys_ptrace )。 当然,如果你不能重现挂起,那么你不能使用这种方法。

我修改了/etc/sysctl.d/10-ptrace.conf

这只会在下一次重启时生效。

在此之前,只需要执行sudo sysctl -w kernel.yama.ptrace_scope=0