什么是SEGV_MAPERR?
什么是SEGV_MAPERR
,为什么总是想出SIGSEGV
?
这是一个分段错误。 很可能是一个悬而未决的指针问题,或某种缓冲区溢出。
SIGSSEGV
是基于问题,分段错误终止它的信号。
检查悬挂指针以及溢出问题。
启用核心转储将帮助您确定问题。
有两种常见的SEGVtypes ,这是由无效的内存访问导致的错误:
- 一个页面访问权限错误。 例如,它是只读的,但你的代码试图写入它。 这将被报告为SEGV_ACCERR 。
- 一个页面被访问甚至没有映射到应用程序的地址空间。 这通常会导致解引用一个空指针或一个小整数值损坏的指针。 这被报告为SEGV_MAPERR 。
SEGV_MAPERR的sorting(索引的Linux源代码)的文档在这里: http ://lxr.free-electrons.com/ident?i=SEGV_MAPERR。