HP gnu source-level debugger 5992-4701 User Manual

Page 68

Advertising
background image

NOTE:

Use caution if you disable all signals from certain processes. Disabling

'SIGTRAP' in your program may cause your program to hang.

HP-UX uses 'SIGTRAP' to communicate with the debugger. If you disable all signals
from certain processes so that signals will be delivered to the right process, your
program may hang when you try to debug it. This behavior occurs because if you
disable 'SIGTRAP', the debugger no longer receives notification of events such as
breakpoint hits and loading or unloading of shared libraries.

To prevent this problem:

Make certain you set this flag:

(gdb) set complain-if-sigtrap-disabled on

Also make certain the following warning was not emitted by the debugger before your
program hung:

Warning: Thread %d (in process %d) has disabled SIGTRAPs.

Debugging this thread is probably impossible.

If you do not want to see this message again, use:

"set complain-if-sigtrap-disabled 0"

info signals

, info handle

Print a table of all the kinds of signals and how
GDB has been told to handle each one. You can
use this to see the signal numbers of all the
defined types of signals.

info handle

is an alias for info signals.

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.

68

Stopping and Continuing

Advertising