SIGTRAP
SIGTRAP — сигнал на POSIX-сумісних платформах, який надсилається процесу, щоб повідомити процес про ситуацію спрацьовування пастки налаштування. Символьна змінна SIGTRAP оголошена у заголовному файлі signal.h
. Символьні імена для процесів використовуються через те, що їхні номери залежать від конкретної платформи.
Опис | Відбулась пастка налаштування (може бути перехопленим або проігнорованим) | ||||
---|---|---|---|---|---|
Дія за замовчуванням | Завершує процес | ||||
SA_SIGINFO macros | |||||
|
Етимологія
SIG є загальноприйнятий префіксом для назв сигналів. TRAP в точності означає пастка (англ. trap).
Використання
Окремі апаратні платформи облаштовані механізмом налаштування програм, який генерує апаратне переривання при збігу поточної адреси інструкції процесора з адресою, занесеною в спеціальний регістр. На основі цього переривання ядро операційної системи генерує сигнал SIGTRAP.
На системах, не обладнаних подібним механізмом, порівняння поточної адреси інструкції процесора з необхідною адресою виконується програмно, або за необхідною адресою розміщується інструкція процесора, виконання якої призводить до переривання програми (при необхідності подальшого виконання ця частина коду програми відновлюється).