By default a process is stopped if it encounters one of the standard signals. The standard signals include:
SIGSEGV
– Segmentation fault
The process has attempted to access memory that is not valid for that process. Often this will be caused by reading beyond the bounds of an array, or from a pointer that has not been allocated yet. The Memory debugging feature might help to resolve this problem.
SIGFPE
– Floating Point Exception
This is raised typically for integer division by zero, or dividing the most negative number by -1. Whether or not this occurs is operating system dependent, and not part of the POSIX standard. Linux platforms will raise this.
Note that floating point division by zero will not necessarily cause
this exception to be raised, behavior is compiler dependent. The
special value Inf
or -Inf
may be generated for the data, and the
process would not be stopped.
SIGPIPE
– Broken Pipe
A broken pipe has been detected while writing.
SIGILL
– Illegal Instruction
SIGUSR1
, SIGUSR2
, SIGCHLD
, SIG63
and SIG64
are passed directly
through to the user process without being intercepted by DDT.
You can change the way that individual signals are handled using the Signal Handling dialog. To open the dialog, select Control > Signal Handling.
To stop the process when it encounters a signal, set the Action to Stop.
To let the process receive the signal and continue playing without being stopped by the debugger, set the Action to Ignore.