使用不显示引用计数的工具

Using Instruments not Showing Reference Count

我正在努力确定我从视图层次结构中删除并设置为 nil(据我所知将所有委托设置为 nil 并删除所有通知)的对象持有什么,使用 Instruments Allocations and/or 泄漏。

我启用了 "Record Reference Counts" 选项,但我看不到该信息显示在何处。我的视图中没有 RefCt 列(见附图)。我如何让它出现?我正在使用 Xcode 版本 8.0 (8A218a)。

有没有办法分析哪些对象保留了子对象?

使用Xcode 可视内存调试器。它包含在 this keynote.

截至 XCode 13.2...

问题中的屏幕截图看起来像是在使用 Leaks 工具。相反,从 XCode 菜单栏中选择 Product/Profile 后,选择“Allocations”而不是“Leaks”。

按下“录制”按钮时,请不要松手。您将看到一个“录制选项”选项,您应该 select。在出现的对话框中,select“记录引用计数”选项,然后按“记录”。

在 Instruments 应用程序的左下角,有一个过滤器。输入您感兴趣的 class 的名称。如果该 class 有任何活动实例,您现在应该会在主面板中看到它的一行,并且 class 名称列在“类别”列中。将鼠标指针拖到主面板中的名称上。名称旁边应出现一个箭头按钮。点击它。

然后您将看到该 class 的活动实例。您将看到一个“地址”列。通过将光标拖到活动实例(或活动实例之一,如果有多个)的地址上,然后单击出现的箭头按钮,执行与之前对“类别”列所做的相同的操作。

现在您最终会看到一个 table 显示对象的保留和释放,其中包括“RefCt”列