matheuscscp
matheuscscp

Reputation: 878

Start process via SSH and GDB?

This question sounds very stupid to me, but if this is somehow possible it would be really helpful.

My application is crashing and I need to debug it. And I run this application in another computer, via SSH (it's an HTTP server). If I could leave a terminal running the application over GDB and SSH all the time, I'd be able to find the bugs. But I don't have a free computer to do that. What can I do? Is there a way to start GDB with nohup(1) plus &> and stuff like that, so I can see GDB output (where command, for example) later?

Upvotes: 0

Views: 429

Answers (1)

Marcus Müller
Marcus Müller

Reputation: 36482

A classical Unix program called screen is your friend (or its competitor tmux). It allows to keep a virtual console open across multiple logins:

screen

starts such a session; using you can detach from that; using

screen -r

you can reconnect to it later.

However, you don't even need that; just make your program leave a core dump when it crashes; ulimit -c unlimited says "every program that crashes leaves a core dump"; you can then just open the core dump using gdb later on, and everything will be as if you ran the program inside gdb when it crashed.

gdb core.123456

Upvotes: 2

Related Questions