Sal*_*ule 27 c c++ signals objective-c
我正在检查一些崩溃,所有崩溃都有SIGSEGV信号,原因是SEGV_ACCERR.在搜索SEGV_ACCERR之后,我发现最接近人类可读解释的是:对象的无效权限
这在更一般意义上意味着什么?何时出现SEGV_ACCERR?关于这个原因有更具体的文件吗?
jjx*_*tra 17
这是我在64位iOS设备上看到的错误,如果多个线程读取并更改ARC下的变量,则会发生这种错误.例如,我今天修复了一个崩溃,其中多个后台线程正在读取并使用静态NSDate和NSString变量并更新它们而不进行任何类型的锁定或排队.
在多个线程上使用核心数据对象也可能导致此崩溃,正如我在崩溃日志中多次看到的那样.
我也使用Crittercism,这个特殊的崩溃是一个只影响64位设备的SEGV_ACCERR.
如sigaction的手册页所述,SEGV_ACCERR是 SIGSEGV 的信号代码,用于指定映射对象的无效权限。与表示地址未映射到有效对象的 SEGV_MAPERR 相反,SEGV_ACCERR 表示地址与对象匹配,但可以肯定它既不是好的对象,也不是允许进程访问的对象。
| 归档时间: |
|
| 查看次数: |
24707 次 |
| 最近记录: |