SIGTRAP
В POSIX-системах, SIGTRAP — сигнал, посылаемый для информирования отладчика о возникновении интересующего события.
SIGTRAP | |
---|---|
Описание | Отладочная ловушка |
По умолчанию | завершение процесса |
Коды SA_SIGINFO | |
TRAP_BRKPT | Достигнута точка останова |
TRAP_TRACE | Шаг трассировки выполнен |
SIGTRAP — целочисленная константа, определённая в заголовочном файле signal.h
. Символьные имена сигналов используются вместо номеров, так как в разных реализациях номера сигналов могут различаться.
Этимология
SIG — общий префикс сигналов (от англ. signal), TRAP — от англ. trap — ловушка (обнаружение) интересующего события.
Использование
При отладке программы, часто бывает полезной приостановка выполнения программы и анализ при наступлении некоторых условий - достижения определённой точки кода (например, вызова какой-нибудь функции), или изменении значения определённой переменной, а также покомандная трассировка кода программы. Для этого программа-отладчик может использовать аппаратные отладочные возможности компьютера. Сигнал аппаратного отладчика преобразуется ядром в сигнал SIGTRAP.
При отсутствии возможности аппаратной отладки, отладчик периодически останавливает программу для проверки ожидаемых условий (что гораздо менее эффективно).