【问题标题】:Message sent to deallocated instance, crash in UIKit framework, how to debug?消息发送到释放的实例,UIKit 框架崩溃,如何调试?
【发布时间】:2011-12-15 08:41:35
【问题描述】:

嘿,你们这些聪明人;

一个艰难的crash bug 调试了很多天,但还是没有找到根本原因,渴望得到您的提示和指导。

它是一个表格视图控制器,但由于我们在其中添加了许多其他 UI 控件,因此更加复杂。使用 Zombie 工具辅助调试并查找由于释放的表格视图而导致的崩溃仍然会收到外部事件。

问题。

  1. 请参阅 Zombie 的以下调用堆栈捕获,我不知道仍然发送了哪个意外事件。有什么方法可以帮助调试到里面的 UIKit 框架?

  2. 我是iPhone编程新手,我想知道如果你遇到这样的问题,你会尝试什么方法来寻找根本原因?如何尝试?如何暂停崩溃点?

我做了很多实验,到目前为止都被证明是失败的。需要您的帮助,任何想法和讨论将不胜感激,在此先感谢。

@interface FavoriteDetailViewController : UITableViewController<UIActionSheetDelegate,FavoritesEditDelegate>

【问题讨论】:

  • 您是否尝试过 Xcode 中的“分析”选项?
  • 是的,XCode 分析工具没有发现缺陷。

标签: uikit crash zombie-process


【解决方案1】:

我遇到了类似的问题。

-[ChaptersContentController tableView:cellForRowAtIndexPath:]: message sent to deallocated instance
UIKit`-[UITableView(UITableViewInternal) _createPreparedCellForGlobalRow:withIndexPath:]

在 dealloc 方法中将我的 tableView 的数据源和委托设置为 nil 对我有帮助

-(void)dealloc {
self.tableView.dataSource = nil;
self.tableView.delegate   = nil;
...

【讨论】:

  • 添加 self.tableView.dataSource = nil;足以修复崩溃。
猜你喜欢
  • 2013-08-07
  • 1970-01-01
  • 2023-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-04
  • 2013-08-31
  • 1970-01-01
相关资源
最近更新 更多