Что такое SEGV MAPERR?

что это SEGV_MAPERR, Почему он всегда придумает SIGSEGV?

2 ответов


Это ошибка сегментации. Скорее всего, проблема с висячим указателем или какое-то переполнение буфера.

SIGSSEGV - Это сигнал, который завершает его на основе проблемы, ошибки сегментации.

проверьте наличие болтающихся указателей, а также проблему переполнения.

включение дампов поможет вам определить проблему.


существует два распространенных вида SEGV, что является ошибкой, которая является результатом недопустимого доступа к памяти:

  1. доступ к странице, которая имела неправильные разрешения. Например, он был доступен только для чтения, но ваш код пытался писать на него. Об этом будет сообщено как SEGV_ACCERR.
  2. доступ к странице, которая даже не отображается в адресное пространство приложения вообще. Это часто будет результатом разыменования нулевого указателя или указателя это было повреждено небольшим целочисленным значением. Об этом сообщается как SEGV_MAPERR.

документация вида (индексированный исходный код Linux) для SEGV_MAPERR здесь:http://lxr.free-electrons.com/ident?i=SEGV_MAPERR.