web-dev-qa-db-ja.com

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を使用するためにPCを起動するたびにターミナルで同じコードを実行することは困難です。

What is the permanent solution for this?
52
Indra

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

詳細については。

61
xor007

私は答えを得ました。

  • 場所に移動/etcルート権限。

  • ファイルを見つけますrc.local

  • Geditなどのテキストエディタで開き、そこに次のコードを追加します
  • echo 0 | tee /proc/sys/kernel/yama/ptrace_scope

PCを再起動すると、デバッガーが完全に動作していることがわかります。

24
Indra

私は以下のリンクでubuntuで私のために働く答えを見つけ、クレジットは dstzcxr に行きます

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

[プロジェクト](左側のバー)-[実行]タブ-[実行]セクションの[ターミナルで実行]ボックスのチェックを外す(またはチェック-実行-何らかの理由でチェックを外す).

5
Ehsan Sadr