【发布时间】:2013-10-01 20:05:57
【问题描述】:
我在 android 中看到了这 2 个分段错误。 一个说SEGV_MAPERR,另一个说SEGV_ACCERR。
你能告诉我这两个有什么区别吗?
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 41963214
signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 4006e000
谢谢。
【问题讨论】:
-
SEGV_MAPERR是内存分配错误(悬空指针、内存溢出等),SEGV_ACCERR是内存访问错误,通常是权限。还是您在寻找更多? -
说 SEGV_ACCERR 是由堆栈损坏引起的公平吗?
-
好吧,我想可能是您使用堆栈指针来访问您无权访问的内存,但这似乎不太可能。你在做什么?