Ошибка сегментации возникает, когда программа пытается получить доступ к ячейке памяти, доступ к которой ей запрещён, или пытается получить доступ к ячейке памяти способом, который не разрешён. en.wikipedia.org
Некоторые типичные причины ошибки сегментации:
- Попытка доступа к несуществующему адресу памяти (вне адресного пространства процесса). en.wikipedia.org
- Попытка доступа к памяти, на которую программа не имеет прав (например, к структурам ядра в контексте процесса). en.wikipedia.org
- Попытка записи в память, доступную только для чтения (например, сегмент кода). en.wikipedia.org
- Ошибки программирования, которые приводят к недопустимому доступу к памяти: разыменование нулевого указателя, неинициализированного указателя, освобождённого указателя и другие. en.wikipedia.org
- Переполнение буфера или стека. en.wikipedia.org dsilakov.ru
- Попытка выполнить программу, которая неправильно компилируется. en.wikipedia.org
- Использование несовместимых версий библиотек и ПО. losst.pro
Условия, при которых происходят нарушения сегментации, и способы их проявления зависят от операционной системы. ru.ruwiki.ru