SEGV_ACCERR是什么意思? [英] What does SEGV_ACCERR mean?
问题描述
我正在检查一些由于SEGV_ACCERR的原因而都发出信号SIGSEGV的崩溃.搜索SEGV_ACCERR后,我发现与人类可读的解释最接近的是:对象的无效权限
I am examining a few crashes that all have the signal SIGSEGV with the reason SEGV_ACCERR. After searching for SEGV_ACCERR, the closest thing I have found to a human readable explanation is: Invalid Permissions for object
从更一般的意义上讲,这意味着什么? SEGV_ACCERR什么时候出现?出于这个原因,是否有更具体的文档?
What does this mean in a more general sense? When would a SEGV_ACCERR arise? Is there more specific documentation on this reason?
推荐答案
这是我在64位iOS设备上最常见的错误,如果多个线程读取并更改了ARC下的变量,则可能会发生此错误.例如,我今天修复了一个崩溃,该崩溃导致多个后台线程正在读取并使用静态NSDate和NSString变量并在不进行任何锁定或排队的情况下对其进行更新.
This is an error that I have mostly seen on 64 bit iOS devices and can happen if multiple threads read and change a variable under ARC. For example, I fixed a crash today where multiple background threads were reading and using a static NSDate and NSString variable and updating them without doing any kind of locking or queueing.
在多个崩溃日志中多次看到,在多个线程上使用核心数据对象也会导致此崩溃.
Using core data objects on multiple threads can also cause this crash, as I have seen many times in my crash logs.
我也使用Crittercism,这次崩溃是SEGV_ACCERR,它仅影响64位设备.
I also use Crittercism, and this particular crash was a SEGV_ACCERR that only affected 64 bit devices.
这篇关于SEGV_ACCERR是什么意思?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!