User`s guide

74
Chapter 6: Controlling Program Execution
The catch and ignore commands have the following syntax:
catch {signal | all}
Instructsdbx to stop your program whenever it receives the
specified signal. If you use the keyword all rather than
giving a specific signal, dbx catches all signals.
ignore {signal | all}
Instructs dbx to ignore the specified signal. All ignored
signals are passed to your program normally. If you use the
keyword all rather than giving a specific signal, dbx ignores
all signals.
catch Prints a list of all signals caught.
ignore Prints a list of all signals ignored.
You can use the signal names and numbers as listed in the signal(2) reference
page. You can also abbreviate the signal names by omitting the “SIG”
portion of the name. You can use uppercase or lowercase for the signal
names.
Note: Because “int” (in lowercase) is adbx keyword, you cannot use it as an
abbreviation for the SIGINT signal. You must use uppercase (“INT”), the full
signal name (“SIGINT” or “sigint”), or the signal number (“2”). SIGINT is
the only signal name with such a restriction.
If you instruct dbx to catch a signal, whenever that signal is directed to your
program, dbx intercepts it and stops your program. Your program does not
see this signal until you continue your program with the cont command. If
your program did not declare a signal handler for a signal, your program
does not see the signal when dbx continues it.
If you issue a SIGINT signal at the keyboard (usually by pressing <Ctrl-C>)
while you are running an application under dbx, what happens depends on
the circumstances:
If the process is in the same IRIX process group as dbx, the interrupt
signal is sent to both dbx and the process. Both dbx and the process stop
running. You are left at the dbx command line.
If the process was added with addproc, dbx –P, or dbx –p, it is not in
the same IRIX process group as dbx. In this case, the signal interrupt is
sent to dbx but not to the process. dbx stops running, but the process