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