What is SEGV_MAPERR?

后端 未结 2 1256
你的背包
你的背包 2020-12-02 06:22

What is SEGV_MAPERR, why does it always come up with SIGSEGV?

2条回答
  •  南方客
    南方客 (楼主)
    2020-12-02 06:47

    There are two common kinds of SEGV, which is an error that results from an invalid memory access:

    1. A page was accessed which had the wrong permissions. E.g., it was read-only but your code tried to write to it. This will be reported as SEGV_ACCERR.
    2. A page was accessed that is not even mapped into the address space of the application at all. This will often result from dereferencing a null pointer or a pointer that was corrupted with a small integer value. This is reported as SEGV_MAPERR.

    Documentation of a sort (indexed Linux source code) for SEGV_MAPERR is here: http://lxr.free-electrons.com/ident?i=SEGV_MAPERR.

提交回复
热议问题