如何将 gdb 调试器放在 nohup 下?

m.r*_*226 2 linux ubuntu gdb background-process nohup

我在后台运行我的程序如下:

nohup ./program -c config.cfg &
Run Code Online (Sandbox Code Playgroud)

所以我在我的程序中看到了分段错误,并决定使用gdb. 我的程序有一些无限循环,再次处理分段错误错误可能需要几个小时。

所以我想在后台运行程序。

我应该如何将 gdb 参数传递给nohup

ste*_*mer 6

我试着让gdb调试器在后台运行,但它被设计成一个交互式工具。我认为您在这里寻找的是screen. Ascreen允许您通过创建虚拟终端来后台运行整个 shell 会话。

创建屏幕实例:

me@mybox$ screen -S my_screen_name
Run Code Online (Sandbox Code Playgroud)

然后运行:

me@mybox$ gdb --args ./program -c config.cfg
Run Code Online (Sandbox Code Playgroud)

进入屏幕后,Ctrl-A-D将分离屏幕,以便您可以开展业务并继续运行。

重新连接:

me@mybox$ screen -r my_screen_name
Run Code Online (Sandbox Code Playgroud)

完成后,Ctrl-D在屏幕中输入以终止屏幕。有关屏幕的更多帮助,请参阅man screen