在父shell终止后恢复gdb会话
- 论坛
- 在父shell终止后恢复gdb会话
34 浏览
匿名的
0 Comments
问题的原因是当父shell终止时,gdb会丢失控制终端,从而无法继续进行调试。解决方法是使用类似于tmux或screen的程序,在其中启动新的gdb进程。这样,当与服务器的连接断开后,可以轻松重新连接到tmux/screen会话。这些程序基本上实现了相同的功能,但tmux可能更强大一些。
有人问起什么决定了一个进程在SSH终止时是否终止,回答是进程会收到一个信号,可能是SIGHUP信号。这完全取决于程序如何处理该信号。
回答者进一步解释说tmux或screen不会退出,只要重新连接时重新附加即可。此外,还有一些方法可以防止SSH断开连接,假设连接本身是可靠的。作者在某个时候在ssh_config中设置了ServerAliveInterval来解决这个问题。作者更喜欢即使在没有任何活动的情况下也保持SSH会话连接的状态。