Подтвердить что ты не робот

Qt Creator, ptrace: операция не разрешена. Каково постоянное решение?

При отладке кода C++ в создателе Qt я получаю следующую ошибку

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

  • временное решение (не перезагрузится):

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

Но трудно запускать один и тот же код в терминале каждый раз, когда я запускаю свой ПК для использования Qt.

What is the permanent solution for this?
4b9b3361

Ответ 1

Если вы используете 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

для получения дополнительной информации.

Ответ 2

Я получил ответ.

  • Перейдите в папку /etc с правами root.

  • Найдите файл rc.local.

  • Откройте его в текстовом редакторе, таком как gedit, и добавьте следующий код там
  • echo 0 | tee /proc/sys/kernel/yama/ptrace_scope

Перезагрузите компьютер, и вы можете отлично отработать отладчик.

Ответ 3

Я нашел ответ, который работает для меня на ubuntu в нижней ссылке, и кредит отправляется dstzcxr

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

Просто снимите флажок (или проверьте - запустите - снимите флажок, если это по какой-то причине unchecked) поле "Запустить в терминале" в "Проекты" (на левой панели) - Вкладка "Выполнить" - "Выполнить".