出于某种原因,我无法附加到我自己的流程?!如果我以root身份尝试strace,则工作正常.
$./list8 & [1] 3141 $child4 starts... $strace -p 3141 attach: ptrace(PTRACE_ATTACH,...): Operation not permitted 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 $cat /proc/sys/kernel/yama/ptrace_scope 1
在lubuntu 13.10上运行
Linux goal 3.8.0-19-generic #29-Ubuntu SMP Wed Apr 17 18:19:42 UTC 2013 i686 i686 i686 GNU/Linux
那么gdb如何附加到用户自己的进程而不必破坏内核设置(ptrace_scope)?
解决方法
看起来你回答了自己的问题 – 你将ptrace_scope设置为1,所以你只能追踪直接的孩子.要允许跟踪属于同一用户的任何进程,请将其设置为0.这也是使用gdb attach命令所必需的.
阅读/etc/sysctl.d/10-ptrace.conf文件作为建议的错误消息…
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。