Что такое SEGV MAPERR?
что это SEGV_MAPERR
, Почему он всегда придумает SIGSEGV
?
2 ответов
Это ошибка сегментации. Скорее всего, проблема с висячим указателем или какое-то переполнение буфера.
SIGSSEGV
- Это сигнал, который завершает его на основе проблемы, ошибки сегментации.
проверьте наличие болтающихся указателей, а также проблему переполнения.
включение дампов поможет вам определить проблему.
существует два распространенных вида SEGV, что является ошибкой, которая является результатом недопустимого доступа к памяти:
- доступ к странице, которая имела неправильные разрешения. Например, он был доступен только для чтения, но ваш код пытался писать на него. Об этом будет сообщено как SEGV_ACCERR.
- доступ к странице, которая даже не отображается в адресное пространство приложения вообще. Это часто будет результатом разыменования нулевого указателя или указателя это было повреждено небольшим целочисленным значением. Об этом сообщается как SEGV_MAPERR.
документация вида (индексированный исходный код Linux) для SEGV_MAPERR здесь:http://lxr.free-electrons.com/ident?i=SEGV_MAPERR.