C/signal.h/SIGTRAP

Материал из C\C++ эксперт
Перейти к: навигация, поиск

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

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

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

Использование

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

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