在進入gdb后,直接使用attach ID,出現下面的情況:
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
原因是Ubuntu 16.04 的/etc/sysctl.d/10-ptrace.conf文件中最后一行默認
kernel.yama.ptrace_scope = 1
這個值不允許用戶使用普通賬戶使用attach ID連接程序進行調試,需要使用超級用戶權限才能連接。
可以把kernel.yama.ptrace_scope的值改為 0,即
sudo vim /etc/sysctl.d/10-ptrace.conf
將最后一行改為 kernel.yama.ptrace_scope = 0,保存退出。
重啟系統后,普通用戶就可以使用attach ID連接程序調試了。