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

2022-01-04 00:00:00 qt5 qt linux-mint c++ linux-kernel

在 Qt creator 中调试 C++ 代码时出现以下错误

While debugging C++ code in Qt creator I get the following error

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

这里找到了一个临时解决方案:尝试调试时收到错误在 QtProject 中

Here a temporary solution is found: Receiving error while trying to debug in QtProject

  • 临时解决方案(重启后无效):

  • temporary solution (won't survive a reboot):

echo 0 |须藤三通/proc/sys/kernel/yama/ptrace_scope

但是每次启动PC使用Qt时,都很难在终端中运行相同的代码.

But it is difficult to run the same code in terminal every time when I start my PC to use Qt.

What is the permanent solution for this?

推荐答案

如果运行 Ubuntu,

If running Ubuntu,

启用所需的 ptrace 内核设置(由 qtcreator 提示)的推荐方法是编辑/etc/sysctl.d/10-ptrace.conf

The recommended way to enable the needed ptrace kernel setting (hinted by qtcreator) is to edit /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

了解更多信息.

相关文章