首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SEGV_ACCERR是什么意思?

SEGV_ACCERR是什么意思?
EN

Stack Overflow用户
提问于 2013-10-01 15:16:13
回答 5查看 39.1K关注 0票数 33

我正在检查的几个崩溃,所有的信号SIGSEGV与原因SEGV_ACCERR。在搜索SEGV_ACCERR之后,我发现最接近人类可读的解释是:对象的无效权限。

从更普遍的意义上讲,这意味着什么?什么时候会出现SEGV_ACCERR?是否有更多关于这个原因的具体文件?

EN

回答 5

Stack Overflow用户

发布于 2014-09-16 20:22:03

这是我在64位iOS设备上看到的一个错误,如果多个线程在ARC下读取和更改变量,就会发生这种错误。例如,我修复了今天的一次崩溃,多个后台线程正在读取和使用静态NSDate和NSString变量,并在不执行任何锁定或排队的情况下更新它们。

在多个线程上使用核心数据对象也可能导致这种崩溃,正如我在崩溃日志中多次看到的那样。

我还使用了Crittercism,这个特定的崩溃是一个只影响64位设备的SEGV_ACCERR。

票数 17
EN

Stack Overflow用户

发布于 2019-02-19 13:32:44

正如sigaction手册页所述,SEGV_ACCERR是SIGSEGV的信号代码,它指定映射对象的无效权限。与SEGV_MAPERR相反,它意味着地址没有映射到有效的对象,SEGV_ACCERR意味着该地址匹配一个对象,但是可以肯定的是,它既不是好的对象,也不是进程允许访问的对象。

票数 8
EN

Stack Overflow用户

发布于 2016-05-31 09:45:56

在代码试图从"text“以外的地方执行的情况下,我看到了这种情况。

例如,如果指针指向堆或堆栈中的函数,并且试图执行该代码(从堆或堆栈),CPU将抛出此异常。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19119943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档