Что такое SEGV MAPERR?


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

2 62

2 ответа:

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

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

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

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

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

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

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