How do I stop execution in GDB without a breakpoint?

Viewed 64847

How do I stop a GDB execution without a breakpoint?

5 Answers

Just use a regular interrupt Ctrl-c will work just fine. GDB just forwards the SIGINT to the debugging process which then dies. GDB will catch the non-standard exit and break the process there, so you can still examine all the threads, their stacks and current values of variables. This works fine, though you would be better off using break points. The only time I find myself doing this is, if I think I've gotten into some sort of infinite loop.

Start a shell, find the process ID using ps and send it SIGSTOP or SIGINT by using the kill command (e.g. kill -INT pid).

Just type BREAK without any arguments.

Break, when called without any arguments, break sets a breakpoint at the next instruction to be executed in the selected stack frame

Ctrl + Z seems to work for me (but only in some cases - I'm not sure why).

Related