在Qt创建者中调试C++
代码时出现以下错误
ptrace: Operation not permitted.
Could not attach to the process. Make sure no other debugger traces this process.
Check the settings of
/proc/sys/kernel/yama/ptrace_scope
For more details, see /etc/sysctl.d/10-ptrace.conf
此处找到了一个临时解决方案:Receiving error while trying to debug in QtProject
临时解决方案(无法重启):
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
但每次启动PC使用Qt时,很难在终端中运行相同的代码。
What is the permanent solution for this?
答案 0 :(得分:58)
如果运行Ubuntu,
启用所需ptrace内核设置(由qtcreator提示)的推荐方法是编辑/etc/sysctl.d/10-ptrace.conf
sudo vim /etc/sysctl.d/10-ptrace.conf
然后改变
kernel.yama.ptrace_scope = 1
到
kernel.yama.ptrace_scope = 0
保存,
然后申请:
$ sudo sysctl --system -a -p|grep yama
kernel.yama.ptrace_scope = 0
运行
man sysctl
了解更多信息。
答案 1 :(得分:24)
我得到了答案。
使用root权限转到/etc
位置。
找到文件rc.local
。
echo 0 | tee /proc/sys/kernel/yama/ptrace_scope
重新启动电脑,您可以看到调试器工作正常。
答案 2 :(得分:5)
我在下面的链接中找到了对ubuntu有用的答案,并且归功于dstzcxr
https://askubuntu.com/a/501271/395583
取消选中(或检查 - 运行 - 取消选中是否由于某种原因 未选中此框"在终端中运行" in" Projects" (在左侧栏) - "运行"选项卡 - "运行"部分。