セットアッププログラムが他の端末で実行されているときにGDBが「制御端末を設定できません」という警告をどのように抑制できますか?

セットアッププログラムが他の端末で実行されているときにGDBが「制御端末を設定できません」という警告をどのように抑制できますか?

私はプログラムをデバッグするためにGDBを使用しており、その出力をGDBを実行している端末以外の端末に送信したいと思います。これが私がやってきたことです:

  1. 2番目の端末を開き、を使用してデバイス名を確認し、同様のものを入手しttyてください/dev/pts/14
  2. 私のGDBセッションでは、コマンドを使用してtty /dev/pts/14出力を端末に設定しました。
  3. 次に、runGDBでコマンドを実行してプログラムを起動します。

この設定は、出力をターミナル2として正しく指定しますが、問題はターミナル2の最初の行に常に次のものが表示されることです。

warning: GDB: Failed to set controlling terminal: Operation not permitted

GDBをrootとして実行しようとしましたが、sudo同じ警告が表示されました。私のプロセスを単純化して表現すると、次のようになります。

# Terminal 2:
$ tty
/dev/pts/14

# Terminal 1:
$ gdb ./some-program
(gdb) tty /dev/pts/14
(gdb) run

この警告の原因とそれを解決または抑制する方法を説明できる人はいますか?制御端末を設定するとき、GDBは何をしようとし、なぜ失敗するのですか?

メモ:クラシックttyでも同じことが起こります。/dev/tty3

ベストアンサー1

おすすめ記事