Linux 通过SSH和GDB启动进程?

Linux 通过SSH和GDB启动进程?,linux,ssh,gdb,Linux,Ssh,Gdb,这个问题对我来说听起来很愚蠢,但如果这是可能的话,它将真的很有帮助 我的应用程序正在崩溃,我需要调试它。我通过SSH(HTTP服务器)在另一台计算机上运行这个应用程序。如果我能让终端一直在GDB和SSH上运行应用程序,我就能找到bug。但是我没有一台免费的电脑来做这件事。我能做什么?有没有一种方法可以用plus&>之类的东西启动GDB,这样我以后就可以看到GDB的输出(例如,where命令)?一个名为screen的经典Unix程序是您的朋友(或者它的竞争对手tmux)。它允许跨多个登录保持虚拟控

这个问题对我来说听起来很愚蠢,但如果这是可能的话,它将真的很有帮助


我的应用程序正在崩溃,我需要调试它。我通过SSH(HTTP服务器)在另一台计算机上运行这个应用程序。如果我能让终端一直在GDB和SSH上运行应用程序,我就能找到bug。但是我没有一台免费的电脑来做这件事。我能做什么?有没有一种方法可以用plus
&>
之类的东西启动GDB,这样我以后就可以看到GDB的输出(例如,
where
命令)?

一个名为
screen
的经典Unix程序是您的朋友(或者它的竞争对手
tmux
)。它允许跨多个登录保持虚拟控制台打开:

screen
开始这样一次会议;使用你可以从中分离;使用

screen -r
您可以稍后重新连接到它

然而,你甚至不需要它;只要让你的程序在崩溃时留下一个内核转储
ulimit-c unlimited
说“每个崩溃的程序都会留下一个内核转储”;然后,您可以稍后使用gdb打开核心转储,一切都将如同在gdb崩溃时在其内部运行程序一样

gdb core.123456

一个名为
screen
的经典Unix程序是您的朋友(或其竞争对手
tmux
)。它允许跨多个登录保持虚拟控制台打开:

screen
开始这样一次会议;使用你可以从中分离;使用

screen -r
您可以稍后重新连接到它

然而,你甚至不需要它;只要让你的程序在崩溃时留下一个内核转储
ulimit-c unlimited
说“每个崩溃的程序都会留下一个内核转储”;然后,您可以稍后使用gdb打开核心转储,一切都将如同在gdb崩溃时在其内部运行程序一样

gdb core.123456

谢谢你救了我!崩溃发生了,但没有留下内核转储文件。可能进程没有接收到默认操作是离开堆芯转储并退出的信号。在gdb的提示符内时,如何从
屏幕中分离?可能吗?相同的组合键:)谢谢!你救了我!崩溃发生了,但没有留下内核转储文件。可能进程没有接收到默认操作是离开堆芯转储并退出的信号。在gdb的提示符内时,如何从
屏幕中分离?可能吗?相同的组合键:)