SIGTRAP

Матеріал з Вікіпедії — вільної енциклопедії.
Версія від 18:46, 7 листопада 2016, створена MobyBot (обговорення | внесок) (→‎Використання: replaced: співпадінн → збіжн за допомогою AWB)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
Перейти до навігації Перейти до пошуку
SIGTRAP
Опис Відбулась пастка налаштування (може бути перехопленим або проігнорованим)
Дія за замовчуванням Завершує процес
SA_SIGINFO macros
TRAP_BRKPT Досягнута точка зупинки
TRAP_TRACE Крок трасування виконано


SIGTRAPсигнал на POSIX-сумісних платформах, який надсилається процесу, щоб повідомити процес про ситуацію спрацьовування пастки налаштування. Символьна змінна SIGTRAP оголошена у заголовному файлі signal.h. Символьні імена для процесів використовуються через те, що їхні номери залежать від конкретної платформи.

Етимологія

[ред. | ред. код]

SIG є загальноприйнятий префіксом для назв сигналів. TRAP в точності означає пастка (англ. trap).

Використання

[ред. | ред. код]

Окремі апаратні платформи облаштовані механізмом налаштування програм, який генерує апаратне переривання при збігу поточної адреси інструкції процесора з адресою, занесеною в спеціальний регістр. На основі цього переривання ядро операційної системи генерує сигнал SIGTRAP.

На системах, не обладнаних подібним механізмом, порівняння поточної адреси інструкції процесора з необхідною адресою виконується програмно, або за необхідною адресою розміщується інструкція процесора, виконання якої призводить до переривання програми (при необхідності подальшого виконання ця частина коду програми відновлюється).