什么是SEGV_MAPERR?
题
什么是 SEGV_MAPERR
,为什么总是提出 SIGSEGV
?
解决方案
有两种常见的 SEGV ,这是由无效的内存访问引起的错误:
- 访问了具有错误权限的页面。例如,它是只读的,但您的代码试图写入它。这将报告为 SEGV_ACCERR
- 访问的页面甚至根本没有映射到应用程序的地址空间。这通常是由于取消引用空指针或使用小整数值损坏的指针而导致的。报告为 SEGV_MAPERR 一> 醇>
SEGV_MAPERR的排序(索引的Linux源代码)文档在此处: http:/ /lxr.free-electrons.com/ident?i=SEGV_MAPERR 。
其他提示
这是一个分段错误。很可能是悬空指针问题,或某种缓冲区溢出。
SIGSSEGV
是根据问题,分段错误终止它的信号。
检查悬空指针以及溢出问题。
启用核心转储将帮助您确定问题。
不隶属于 StackOverflow