【问题标题】:AFNetworking crash analysis for EXC_BAD_ACCESS KERN_INVALID_ADDRESSEXC_BAD_ACCESS KERN_INVALID_ADDRESS 的 AFNetworking 崩溃分析
【发布时间】:2014-03-11 04:56:53
【问题描述】:

我收到了 AFNetworking 抛出 EXC_BAD_ACCESS KERN_INVALID_ADDRESS 的崩溃报告:

Thread : Crashed: com.apple.root.default-priority
0  libobjc.A.dylib                0x39e237fa objc_release + 9
1  MY_APP                         0x0015ba63 __64-[AFHTTPRequestOperation setCompletionBlockWithSuccess:failure:]_block_invoke (AFHTTPRequestOperation.m:266)
2  MY_APP                         0x00163bf7 __47-[AFURLConnectionOperation setCompletionBlock:]_block_invoke (AFURLConnectionOperation.m:301)
3  Foundation                     0x3049a2a9 __103+[__NSOperationInternal _observeValueForKeyPath:ofObject:changeKind:oldValue:newValue:indexes:context:]_block_invoke96 + 12
4  libdispatch.dylib              0x3a30b0c3 _dispatch_call_block_and_release + 10
5  libdispatch.dylib              0x3a3107d9 _dispatch_root_queue_drain + 224
6  libdispatch.dylib              0x3a3109c5 _dispatch_worker_thread2 + 56
7  libsystem_pthread.dylib        0x3a43adff _pthread_wqthread + 298

我需要帮助来了解可能的错误。这种情况有时会发生,实际上非常罕见,可能与用户使用 3G 时的超时问题有关(加载数据时可能会断开网络)。

我没有发布我的代码,因为我在崩溃日志中找不到此崩溃发生在哪个文件或类中,并且我在很多文件中使用了 AFNetworking。

【问题讨论】:

  • 您是否使用过 Xcode 的分析器来识别代码中的潜在错误?
  • 是的,但就像我说的,这似乎是一个我无法重现的错误,因为它可能与蜂窝连接问题有关

标签: ios crash afnetworking-2


【解决方案1】:

没有任何代码,这都是猜测,但是:

完成块中的某些内容在释放后被访问。通常,当视图控制器关闭后网络操作未取消时,就会发生这种情况。

【讨论】:

  • 好的,谢谢,一旦视图被关闭,我会检查我是否处理网络操作
  • 视图控制器关闭后如何取消网络操作?
  • 取决于您使用的模式/架构,但以最简单的形式,保留对已创建连接的引用。然后在正确的时间调用 cancel(变化,viewDidDisappear 可能是一个不错的起点)
猜你喜欢
  • 2017-04-02
  • 2023-03-23
  • 1970-01-01
  • 1970-01-01
  • 2021-09-29
  • 2015-04-17
  • 1970-01-01
  • 2014-12-15
  • 2021-03-07
相关资源
最近更新 更多