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

时间:2014-03-01 21:39:08

标签: c++ qt linux-kernel qt5 linuxmint

在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?

3 个答案:

答案 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

  • 在gedit等文本编辑器中打开它并添加以下代码 那里
  • echo 0 | tee /proc/sys/kernel/yama/ptrace_scope

重新启动电脑,您可以看到调试器工作正常。

答案 2 :(得分:5)

我在下面的链接中找到了对ubuntu有用的答案,并且归功于dstzcxr

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

  

取消选中(或检查 - 运行 - 取消选中是否由于某种原因   未选中此框"在终端中运行" in" Projects" (在左侧栏) -   "运行"选项卡 - "运行"部分。