浅析Linux段错误:SEGV_MAPERR、SEGV_ACCERR
清泛原创
有两种常见的段错误,SIGSEGV 是段错误终止信号,通常是由无效内存访问导致的错误:
- 访问了具有错误权限的页面。例如,它是只读的,但您的代码试图写入它。这将报告为SEGV_ACCERR。
- 访问的内存页面甚至根本没有映射到应用程序的地址空间。这通常是由于空指针访问或地址被置为小数值损坏而导致的,这被报告为SEGV_MAPERR,堆栈溢出或缓冲区溢出都可能导致该错误。
参考:https://stackoverflow.com/questions/1000002/what-is-segv-maperr