SIGTRAP

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
SIGTRAP
Описание: Отладочная ловушка
По умолчанию: завершение процесса
коды SA_SIGINFO
TRAP_BRKPT Достигнута точка останова
TRAP_TRACE Шаг трассировки выполнен

В POSIX-системах, SIGTRAP — сигнал, посылаемый для информирования отладчика о возникновении интересующего события.

SIGTRAP — целочисленная константа, определённая в заголовочном файле signal.h. Символьные имена сигналов используются вместо номеров, так как в разных реализациях номера сигналов могут различаться.

Этимология[править | править код]

SIG — общий префикс сигналов (от англ. signal), TRAP — от англ. trap — ловушка (обнаружение) интересующего события.

Использование[править | править код]

При отладке программы, часто бывает полезной приостановка выполнения программы и анализ при наступлении некоторых условий - достижения определённой точки кода (например, вызова какой-нибудь функции), или изменении значения определённой переменной, а также покомандная трассировка кода программы. Для этого программа-отладчик может использовать аппаратные отладочные возможности компьютера. Сигнал аппаратного отладчика преобразуется ядром в сигнал SIGTRAP.

При отсутствии возможности аппаратной отладки, отладчик периодически останавливает программу для проверки ожидаемых условий (что гораздо менее эффективно).