Download NightView User`s Guide - Concurrent Software Portal

Transcript
Command-Line Interface
nopass
The signal is discarded, after stopping and printing if that's appropriate. This
keyword is not applicable to Ada exceptions.
In most cases, a signal sent to a debugged program will cause that program to be stopped
and NightView to be notified of the signal. NightView's normal action for most signals is
to notify you of the signal and save it to be passed to the process the next time it is
continued. For example, the default setting for SIGQUIT would be described as:
(local) handle sigquit stop print pass
This default behavior can be altered by the handle command. Some settings allow the
system to avoid stopping your process and notifying NightView of the signal. See
“Signals” on page 3-14 for more information about this.
The default action for a few signals is different than the behavior described above.
Consider SIGALRM, which is not usually an error; it is used in the normal functioning of
the program. You usually don't want to know when your program gets a SIGALRM (but
your program does) so the default setting for SIGALRM is:
(local) handle sigalrm nostop noprint pass
This says that if NightView discovers that your process has been sent a SIGALRM, it will
automatically resume execution and pass the signal to the process without notifying you.
(NightView may not even be aware of the signal with these settings of the handle
command. See “Signals” on page 3-14.)
SIGINT is handled a little differently; when the process receives a SIGINT, the process stops
and NightView notifies you, but the signal is discarded, so that the process never sees it.
The normal setting for SIGINT is:
(local) handle sigint stop print nopass
Ada programs use some signals in the run-time library, so, by default, NightView sets
these to nostop, noprint, pass. For PowerMAX these are SIGADA, SIGFPE and
SIGSEGV. For Linux, these are SIGABRT, SIGFPE, SIGSEGV and signal 47.
For a way to deal with signals one at a time, see “signal” on page 7-110.
To find out the current settings for all the signals, see “info signal” on page 7-131.
If two conflicting keywords are specified, they are both applied, in the order they appear.
For example, if the initial setting for signal number 1 is stop, print, pass, and you
say:
(local) handle 1 noprint print
then the new setting is nostop, print, pass, because noprint implies nostop.
handle applies to all the processes specified in the qualifier.
The default settings for all Ada exceptions are nostop, noprint. If the settings are
changed to stop and print, then execution is stopped in the Ada runtime routine that
routes exceptions to the proper handler. This routine is usually uninteresting, so the current frame is set to the code that caused the exception. See “Interesting Subprograms” on
7-113