SIGSEGV — сигнал на POSIX-сумісних платформах, який посилається процесу при спробі адресування пам'яті, яка не належить процесу. Символьна змінна SIGSEGV оголошена у заголовному файлі signal.h
. Символьні імена для сигналів використовуються через те, що їхні номери залежать від конкретної платформи.
Опис | Помилка трансляції адреси (не може бути перехопленим або проігнорованим) |
---|---|
Дія за замовчуванням | Завершує процес |
SA_SIGINFO macros | |
None |
Етимологія
SIG є загальноприйнятий префіксом для назв сигналів. SEGV англ. segmentation violation — означає помилка сегментації.
Використання
В окремих системах сигнал SIGSEGV не посилається процесу, а використовується ядром системи для підкачки сторінок, в інших, в тому числі UNIX-системах призводить до завершення процесу. Одними з частих причин генерації такого сигналу є помилка в програмі, в результаті якої відбувається вихід за межі масиву або звернення до пам'ті через нульовий або неініціалізований покажчик.
Приклад
Програма мовою C, що намагається виконанти запис в комірку пам'яті з одресою 0:
int main() { *(int *)0 = 1; return 0; }
В UNIX-системах її виконання призводить до генерації сигналу SIGSEGV.
Див. також
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
SIGSEGV signal na POSIX sumisnih platformah yakij posilayetsya procesu pri sprobi adresuvannya pam yati yaka ne nalezhit procesu Simvolna zminna SIGSEGV ogoloshena u zagolovnomu fajli signal h Simvolni imena dlya signaliv vikoristovuyutsya cherez te sho yihni nomeri zalezhat vid konkretnoyi platformi SIGSEGVOpisPomilka translyaciyi adresi ne mozhe buti perehoplenim abo proignorovanim Diya za zamovchuvannyamZavershuye procesSA SIGINFO macrosNoneEtimologiyaSIG ye zagalnoprijnyatij prefiksom dlya nazv signaliv SEGV angl segmentation violation oznachaye pomilka segmentaciyi VikoristannyaV okremih sistemah signal SIGSEGV ne posilayetsya procesu a vikoristovuyetsya yadrom sistemi dlya pidkachki storinok v inshih v tomu chisli UNIX sistemah prizvodit do zavershennya procesu Odnimi z chastih prichin generaciyi takogo signalu ye pomilka v programi v rezultati yakoyi vidbuvayetsya vihid za mezhi masivu abo zvernennya do pam ti cherez nulovij abo neinicializovanij pokazhchik PrikladPrograma movoyu C sho namagayetsya vikonanti zapis v komirku pam yati z odresoyu 0 int main int 0 1 return 0 V UNIX sistemah yiyi vikonannya prizvodit do generaciyi signalu SIGSEGV Div takozhVirtualna pam yat