Qt Creator,ptrace:操作不允许。 什么是永久解决scheme?

在Qt创build器中debuggingC++代码时,出现以下错误

 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 

这里find了一个临时解决scheme: 在QtProject中尝试debugging时接收错误

  • 临时解决scheme(不会重新启动):

    echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope

但是,每当我启动我的电脑使用Qt时,在terminal中运行相同的代码是很困难的。

 What is the permanent solution for this? 

如果运行Ubuntu,

build议启用所需的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 

获取更多信息。

我得到了答案。

  • 以root权限转到位置/etc

  • find文件rc.local

  • 在像gedit这样的文本编辑器中打开它,并在其中添加下面的代码
  • echo 0 | tee /proc/sys/kernel/yama/ptrace_scope

重新启动你的电脑,你可以看到debugging工作正常。

我在下面的链接find了在Ubuntu上适用于我的答案,信用评价为dstzcxr

https://askubuntu.com/a/501271/395583

在“项目”(左栏)中的“运行terminal”框中 – “运行”选项卡 – “运行”部分,只需取消勾选(或者选中 – 运行 – 取消选中是否由于某种原因未选中)。