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

SIGSEGV
ОписПомилка трансляції адреси (не може бути перехопленим або проігнорованим)
Дія за замовчуваннямЗавершує процес
SA_SIGINFO macros
None

Етимологія

ред.

SIG є загальноприйнятий префіксом для назв сигналів. SEGV англ. segmentation violation — означає помилка сегментації.

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

ред.

В окремих системах сигнал SIGSEGV не посилається процесу, а використовується ядром системи для підкачки сторінок, в інших, в тому числі UNIX-системах призводить до завершення процесу. Одними з частих причин генерації такого сигналу є помилка в програмі, в результаті якої відбувається вихід за межі масиву або звернення до пам'ті через нульовий або неініціалізований покажчик.

Приклад

ред.

Програма мовою C, що намагається виконанти запис в комірку пам'яті з одресою 0:

int main()
{
  *(int *)0 = 1;
  return 0;
}

В UNIX-системах її виконання призводить до генерації сигналу SIGSEGV.

Див. також

ред.