SIGABRT
SIGABRT | |
---|---|
Описание | Сигнал аварийного завершения используемыйabort() |
По умолчанию | завершение с дампом памяти |
КодыSA_SIGINFO | |
Не имеет специфических кодов |
SIGABRT (отангл. signal иabort) — сигнал, используемый вPOSIX-системах, посылаемый процессом самому себе при выполнении функцииabort()
для аварийной остановки с выполнениемдампа памяти в случае невозможности дальнейшего продолжения программы.
Определён как целочисленная константа в заголовочном файлеsignal.h
. ВLinux используется сигнал-синоним —SIGIOT (отангл. I/O transfer trap — ловушка ввода-вывода).
Функцияabort()
, посылающая этот сигнал самому процессу, определена вlibc с прототипом вstdlib.h. Сигнал может быть перехвачен или проигнорирован, ноabort()
принудительно завершит программу (предварительно сбросив и закрыв стандартные потоки и сделав дамп памяти программы), даже если этого не сделает обработчик сигнала. Таким образом функцияabort()
гарантирует завершение программы, почему она часто используется библиотеками в аварийных ситуациях — когда выполнение не должно быть продолжено, но основная программа должна иметь возможность выполнить действия, необходимые перед аварийным завершением.
Также SIGABRT вызываетсяутверждениями (средство отладки Си —макроопределениеassert()
вызываетabort()
, если утверждение переданное в качестве аргумента ложно).
![]() | В статьене хватаетссылок на источники (см.рекомендации по поиску). Информация должна бытьпроверяема, иначе она может быть удалена. Вы можетеотредактировать статью, добавив ссылки наавторитетные источники в видесносок.(12 мая 2011) |