Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 我无法理解这两份撞车报告_Ios_Objective C_Xcode_Crash_Crittercism - Fatal编程技术网

Ios 我无法理解这两份撞车报告

Ios 我无法理解这两份撞车报告,ios,objective-c,xcode,crash,crittercism,Ios,Objective C,Xcode,Crash,Crittercism,由于我收到了关于崩溃的评论,但应用程序从未为我崩溃,我现在使用criterism来查找崩溃 我收到一份报告,指出我犯了一个错误。这很容易,因为方法名是给定的,我 可以在我的代码中查找可能崩溃的内容。到目前为止,一切顺利 但我也有以下两个问题困扰着我 在我看来,这个应用程序在苹果内部的某个库中崩溃了。(很可能是因为我给它喂了一些坏东西…) 在崩溃中没有我的代码调用,那么你从哪里开始寻找呢 有人了解这些事故吗? 你知道我怎样才能抓到这些,也许还能得到更多的车祸信息吗? 第一: 第2号: Thread

由于我收到了关于崩溃的评论,但应用程序从未为我崩溃,我现在使用criterism来查找崩溃

我收到一份报告,指出我犯了一个错误。这很容易,因为方法名是给定的,我 可以在我的代码中查找可能崩溃的内容。到目前为止,一切顺利

但我也有以下两个问题困扰着我

在我看来,这个应用程序在苹果内部的某个库中崩溃了。(很可能是因为我给它喂了一些坏东西…)

在崩溃中没有我的代码调用,那么你从哪里开始寻找呢

有人了解这些事故吗? 你知道我怎样才能抓到这些,也许还能得到更多的车祸信息吗? 第一:

第2号:

Thread: Unknown Name (Crashed)
0     libobjc.A.dylib                       0x35beb5d0 objc_msgSend + 16 + 15
1     UIKit                                 0x39fb0541 -[UITableView(UITableViewInternal) _createPreparedCellForGlobalRow:withIndexPath:] + 409 + 408
2     UIKit                                 0x39f95361 -[UITableView(_UITableViewPrivate) _updateVisibleCellsNow:] + 1317 + 1316
3     UIKit                                 0x39fac7ff -[UITableView layoutSubviews] + 207 + 206
4     UIKit                                 0x39f68897 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 259 + 258
5     QuartzCore                            0x34ab74eb -[CALayer layoutSublayers] + 215 + 214
6     QuartzCore                            0x34ab708d _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 461 + 460
7     QuartzCore                            0x34ab7fb1 _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 17 + 16
8     QuartzCore                            0x34ab799b _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 239 + 238
9     QuartzCore                            0x34ab77ad _ZN2CA11Transaction6commitEv + 317 + 316
10   QuartzCore                             0x34aee7df _ZN2CA7Display11DisplayLink8dispatchEyy + 255 + 254
11   QuartzCore                             0x34aee6d9 _ZN2CA7Display16IOMFBDisplayLink8callbackEP21__IOMobileFramebufferyyyPv + 65 + 64
12   IOMobileFramebuffer                    0x375f0fd7 IOMobileFramebufferVsyncNotifyFunc + 155 + 154
13   IOKit                                  0x3282a5ad IODispatchCalloutFromCFMessage + 193 + 192
14   CoreFoundation                         0x3918288b __CFMachPortPerform + 119 + 118
15   CoreFoundation                         0x3918d3e7 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 35 + 34
16   CoreFoundation                         0x3918d38b __CFRunLoopDoSource1 + 139 + 138
17   CoreFoundation                         0x3918c20f __CFRunLoopRun + 1383 + 1382
18   CoreFoundation                         0x390ff23d CFRunLoopRunSpecific + 357 + 356
19   CoreFoundation                         0x390ff0c9 CFRunLoopRunInMode + 105 + 104
20   GraphicsServices                       0x3344933b GSEventRunModal + 75 + 74
21   UIKit                                  0x39fb9291 UIApplicationMain + 1121 + 1120    

谢谢你的帮助

两种情况下的碰撞点相同:

 UIKit 0x39fb0541 -[UITableView(UITableViewInternal) _createPreparedCellForGlobalRow:withIndexPath:] + 409 + 408
在第一种情况下,表视图试图对未实现所述方法的实例调用方法。第二次崩溃是由于试图删除垃圾消息造成的

因此,最有可能的结论是,两起车祸都是单一问题的症状;您有一个对象被过早释放或过度释放

特别是,表视图的数据源在重新加载表之前或期间被释放

我怀疑UITableView试图调用数据源的方法来创建单元格。您可以通过在所述方法上设置断点并查看堆栈跟踪来确认这一点。如果我的赌注是正确的,您将看到_createPreparedCellForGlobal。。。跟踪中的方法


不知道你的应用程序的细节,很难说。最有可能的是,这是屏幕上加载的数据与用户执行的操作之间的时间相关问题,导致在加载表视图之前取消请求,从而导致数据源从表下被释放(这可能是因为表视图具有对对象的指定引用;非保留引用)

要尝试复制,请关注:

•网络连接速度慢或带宽可变(如果您的应用程序是客户端/服务器)

•执行用户可能会导致操作取消的操作

•在视图之间快速导航,无需等待更新完成图形


在您的评论中,您提到您正在尝试“两款不同的iPhone”。请尝试其他设备类型和不同的网络配置。

第一点,我将重点介绍“[NSObject DoesNotReconficateSelector:]”这似乎表明您设置了一个委托,该委托没有实现它期望的UITableView方法之一是的,除非UIKit正在寻找一套公寓出租,否则我不认为Wohnungsusche是一个内部apple库……从外部看,我觉得1)是因为您正在将数据加载到tableview上(而不是重新加载它)从你的一个方法中,这个方法调用会导致崩溃,这个方法会在上面显示一个CALayer的东西,并在上面做一些动画,这会使它崩溃。2) 看起来和第一个一样安静。然而,一些代码可以让我们解决这个问题。你能复制这次崩溃吗?如果是这样,那么通过启用僵尸来检查它?不,我无法复制崩溃:(@HackyStack是的,我知道是我的应用程序崩溃了,但是崩溃发生在“\u createPreparedCellForGlobalRow:withIndexPath:”之后的某个地方,并且没有显示来自我的代码EXCEPT“start”的调用。我的应用程序使用了多个表视图。我在cellForRowAtIndexPath中的2上设置了断点,两次堆栈都显示了该方法“_createPreparedCellForGlobal”。所以我猜它在每个tableview中都会使用。我甚至不知道哪个tableview崩溃:(我的项目使用ARC,因此不能过早释放对象的是我。我确实运行了静态分析,但它在我的代码中没有出现问题。但可能发生的情况是,您导致应用程序的某些部分被过早地拆除。UITableView的
数据源
被声明为
分配
;它不是保留因此,在tableview完成之前,您的数据源很容易被删除。
 UIKit 0x39fb0541 -[UITableView(UITableViewInternal) _createPreparedCellForGlobalRow:withIndexPath:] + 409 + 408