linux segmentation fault



Segmentation fault

Автор Gusev1994 задал вопрос в разделе Другие языки и технологии

Опишите пожалуйста как происходит Segmentation fault? и получил лучший ответ

Ответ от .[гуру]
Почитайте форум
Источник:

Ответ от <audio src="beiber.mp3"></audio>[гуру]
Майкл К. Джонсон, Эрик В. Троан - Разработка приложений в среде Linux :
Дамп ядра программы содержит полную хронологию состояния программы передее уничтожением. Дамп ядра выгружается в файл по имени core, расположенный в текущем каталоге процесса. Когда процесс нарушает какие-то системные требования (например, пытается обратиться к памяти, доступ к которой запрещен) , ядро прерывает процесс, вызывая встроенную версию kill () с параметром, который заставляет выгрузить дамп ядра. Ядро может уничтожать процессы по разным причинам, включая арифметические ошибки, такие как деление на ноль, либо по причине выполнения программой некорректных инструкций, либо при попытке доступа к запрещенной области памяти. Последняя причина вызывает ошибку сегментации, что выражается в сообщении segmentation fault (core dumped) (ошибка сегментации (дамп ядра сброшен)) . Если для процесса установлен лимит на размер файла дампа, равный 0, то никакой дамп ядра не выгружается.
SIGCHLD - Этот сигнал посылается процессу, когда один из его дочерних процессов устаревает или остановлен. Это позволяет процессу избежать появления"зомби" за счет вызова одной из функций wait () из обработчика сигнала. Если родитель всегда ожидает завершения дочерних процессов, прежде чем продолжить работу, этот сигнал может быть проигнорирован.
Сигнал SIGABRT заставляют программу перед уничтожением сбрасывать дамп ядра (dump core).
интересная книга, советую почитать.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Опишите пожалуйста как происходит Segmentation fault?
Ошибка сегментации на Википедии
Посмотрите статью на википедии про Ошибка сегментации
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*