Iphone 什么会导致此SIGSEGV错误?
我收到了一份无法解释的事故日志。我四处搜索,发现Iphone 什么会导致此SIGSEGV错误?,iphone,ios,crash,crash-reports,segmentation-fault,Iphone,Ios,Crash,Crash Reports,Segmentation Fault,我收到了一份无法解释的事故日志。我四处搜索,发现SIGSEGV与内存有关。但是在我的例子中,除了stacktrace中的main.m之外,没有我自己的代码。此外,它似乎并不代表任何系统库 到目前为止,事故只发生在一部iPhone上。在其他手机上,我无法复制它。现在我完全被卡住了,不知道该去哪里继续,所以如果有人以前看到过类似的事情,最好能听到他们的问题和解决方法 崩溃日志: Incident Identifier: TODO CrashReporter Key: TODO Hardware
SIGSEGV
与内存有关。但是在我的例子中,除了stacktrace中的main.m
之外,没有我自己的代码。此外,它似乎并不代表任何系统库
到目前为止,事故只发生在一部iPhone上。在其他手机上,我无法复制它。现在我完全被卡住了,不知道该去哪里继续,所以如果有人以前看到过类似的事情,最好能听到他们的问题和解决方法
崩溃日志:
Incident Identifier: TODO
CrashReporter Key: TODO
Hardware Model: iPhone4,1
OS Version: iPhone OS 6.1.3 (10B329)
Report Version: 104
Exception Type: SIGSEGV
Exception Codes: SEGV_ACCERR at 0x41fd5903
Crashed Thread: 0
Thread 0 Crashed:
0 libobjc.A.dylib 0x3b0b9564 0x3b0b6000 + 13668
1 libobjc.A.dylib 0x3b0bb1d7 0x3b0b6000 + 20951
2 CoreFoundation 0x33396605 0x332d4000 + 796165
3 CoreFoundation 0x3339635d 0x332d4000 + 795485
4 libobjc.A.dylib 0x3b0bea65 0x3b0b6000 + 35429
5 libc++abi.dylib 0x3ab0b07b 0x3ab0a000 + 4219
6 libc++abi.dylib 0x3ab0b114 0x3ab0a000 + 4372
7 libc++abi.dylib 0x3ab0c599 0x3ab0a000 + 9625
8 libobjc.A.dylib 0x3b0be9d1 0x3b0b6000 + 35281
9 CoreFoundation 0x332dcf21 0x332d4000 + 36641
10 CoreFoundation 0x332dcd49 0x332d4000 + 36169
11 GraphicsServices 0x36eb52eb 0x36eb0000 + 21227
12 UIKit 0x351f2301 0x3519b000 + 357121
13 Stylbar 0x0007109f main (main.m:21)
编辑5月3日:
崩溃日志由用户发送。不幸的是,我自己无法重现这个问题,这就是为什么我很难找出这个崩溃日志到底出了什么问题
在打开某个视图控制器时,同一用户似乎连续发生了大约15次。视图控制器多次调用服务器以加载帖子、评论、图像和配置文件图片。打开此视图控制器时执行的所有代码可能超过2000行(不包括此代码中使用的RestKit和SBWebImage库)。在这里发布代码恐怕对任何人都没有帮助。花时间寻找崩溃原因的最简单、最有用的方法是查看您的代码,并将注意力集中在UIKit有一个委托指向您的代码的地方。例如,我发现这类事情最常见的地方是在。这些问题之所以很难追踪,是因为它们可能只发生在内存不足的情况下,或者发生在一些非常难以重现的不常见UI情况下。最好只进行代码检查,并确保在您自己的对象析构函数中将设置为指向类的委托设置回nil。如果你有很多开发者,与让每个开发人员编写一个UITableView并犯一些错误(例如忘记消除委托)相比,通常更好的做法是处理一些更高级别的抽象,例如在整个项目中使用的通用表和单元类。SIGSEGV是一个问题,当您的应用程序尝试访问不存在的内存地址或已保留给其他程序的某个地址。我现在对一个应用程序也有同样的问题,但我必须检查我的代码以更好地解决它。这类问题的一个线索可能与此相当(可在维基百科中找到):
#包括
int main(无效){
char p=NULL;/p是指向char的指针,用于初始化指向“无处”的点*/
*p='x';/*尝试将字符'x'保存在'no address'*/
返回0;
}
我希望这能帮助一些人。这是在发布时发生的吗?单击特定按钮时?在调用方法时?请提供更多信息,最好带有代码。
#include <stdlib.h>