📅 2015-May-11 ⬩ ✍️ Ashwin Nanjappa ⬩ 🏷️ gdb, signal, sigtstp ⬩ 📚 Archive
I use Ctrl+Z
regularly at the shell to temporarily stop a program and then continue its running using the fg
command. However, doing the same in GDB does not work as expected:
I press Ctrl+Z
. GDB catches it and prints out a message saying SIGTSTP
has been received.
Typing continue
does not continue the execution of the program. The program keeps getting stopped again and prints this message:
(gdb) c
Continuing.
Program received signal SIGTSTP, Stopped (user).
[Switching to Thread 0x7fffe7e28700 (LWP 1492)]
0x00007ffff5b5112d in poll () at ../sysdeps/unix/syscall-template.S:81
81 T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
To view the signals handled by GDB and how they are handled:
(gdb) info signals
SIGTSTP
is handled:(gdb) info signal SIGTSTP
Signal Stop Print Pass to program Description
SIGTSTP Yes Yes Yes Stopped (user)
handle
command:(gdb) handle SIGTSTP nopass
continue
now and the program continues from where it was stopped.Tried with: GDB 7.7.1 and Ubuntu 14.04