バックグラウンドで「gdbserver」を起動するには?

バックグラウンドで「gdbserver」を起動するには?

デバイスでgdbserverを実行するとき(良いgdbserver :2345 myapp、gdbserver は端末を完全にブロックします。アンパサンドを追加または押すと、バックグラウンドで実行されません&^z私も確認しました:Kubuntuでも再現可能です。

シェルコマンドを使用する理由は次のとおりです。gdbserverでこれを実行する方法がわかりません。私は走った後に麻痺した感じを受けました。

ベストアンサー1

これはOPで動作するようです。

gdbserver :2345 ls > /dev/null 2>&1 &

その理由は、プログラムがデーモン化されるとSTDIO 0、1、2がすべて閉じられるためだと思います。次に開くIOは0になります。プログラムがprintfやscanfなどのエントリに0、1、または2を使用しようとすると、無効なIOまたは閉じたIOに対して機能します。たとえば、デーモン化されている場合、ソケットは0(STDIN)で開き、printfが呼び出されると開かれていないFDに書き込まれるため、プログラムは中断されます。

おすすめ記事