何か関連があると思います。gdb設定のオーバーライドログはgdb.txtを上書きする必要がありますか?。
どのアプリケーションのセッションを実行しているとしましょう。説明のために、qbittorrentをもう一度例に挙げてみましょう。
以前共有したように実行がどのように行われるか –
$ gdb qbittorrent
(gdb) set logging overwrite on
(gdb) set logging on
(gdb) set pagination 0
(gdb) run
私が知っている1つの方法は、アプリケーションを正常に終了することです。しかし、時にはアプリケーションがハングアップしたり、時間がかかりすぎたり、まったく応答しなくなったりすることがあります。
それから私に残った唯一のオプションはCTRL+C
これを使うことでした。正しく理解した場合は、qbittorrentの例でデフォルトのアプリケーションを終了し、次のようにgdbを終了できました。
(gdb) quit
アプリケーションを終了してgdbセッションを実行し続ける他の方法はありますか?それとも、上記の粗雑な方法である唯一の方法です。
AFAIは、申請手続きを終了することが最初ではなく最後の解決策でなければならないことを知っています。
答え1
これには信号を使用できます。プログラムを開始する前に、プログラムに影響を与えずに設定またはUSR1
割り込みを実行してくださいUSR2
。gdb
handle SIGUSR1 nopass
その後、プログラムを停止する必要がある場合は、kill -USR1
適切な(サブ)pidを使用して他のシェルでプログラムを実行できます。gdb
アプリケーションが一時停止したら、ブレークポイントを追加してステータスを確認し、必要に応じて再開を使用できますcont
。