Debugging with GDB Manual The GNU Source-Level Debugger (769148-001, March 2014)
info handle is an alias for info signals.
set
ignore-uninteresting-signals
[on|off]
The debugger does not deliver the silent signals to the
program when ignore-uninteresting-signals is
switched on. The default option is on.
show
ignore-uninteresting-signals
Display the current status of set
ignore-uninteresting-signals command.
handle signal keywords... Change the way GDB handles signal signal. signal
can be the number of a signal or its name (with or without
the 'SIG' at the beginning). The keywords say what
change to make.
The keywords allowed by the handle command can be abbreviated. Their full names are:
nostop GDB should not stop your program when this signal happens. It may still print a
message telling you that the signal has come in.
stop GDB should stop your program when this signal happens. This implies the print
keyword as well.
print GDB should print a message when this signal happens.
noprint GDB should not mention the occurrence of the signal at all. This implies the nostop
keyword as well.
pass GDB should allow your program to see this signal; your program can handle the
signal, or else it may terminate if the signal is fatal and not handled.
nopass GDB should not allow your program to see this signal.
When a signal stops your program, the signal is not visible to the program until you continue. Your
program sees the signal then, if pass is in effect for the signal in question at that time. In other
words, after GDB reports a signal, you can use the handle command with pass or nopass to
control whether your program sees that signal when you continue.
You can also use the signal command to prevent your program from seeing a signal, or cause
it to see a signal it normally would not see, or to give it any signal at any time. For example, if
your program stopped due to some sort of memory reference error, you might store correct values
into the erroneous variables and continue, hoping to see more execution; but your program would
probably terminate immediately as a result of the fatal signal once it saw the signal. To prevent
this, you can continue with 'signal 0'. See “Giving your program a signal” (page 85).
Stopping and starting multi-thread programs
When your program has multiple threads (see “Debugging programs with multiple threads”
(page 32)), you can choose whether to set breakpoints on all threads, or on a particular thread.
break linespec thread
threadno, break linespec
thread threadno if ...
linespec specifies source lines; there are several ways of
writing them, but the effect is always to specify some source
line.
Use the qualifier 'thread threadno' with a breakpoint
command to specify that you only want GDB to stop the
program when a particular thread reaches this breakpoint.
threadno is one of the numeric thread identifiers assigned
by GDB, shown in the first column of the 'info threads'
display.
If you do not specify 'thread threadno' when you set a
breakpoint, the breakpoint applies to all threads of your
program.
48 Stopping and Continuing