15

因此,在断点处,我有一个随机对象实例。我想弄清楚哪些对象具有指向该对象的指针。有没有办法在调试器控制台中看到这个?也许可以向我展示所有在对象上保留的对象?

示例:我有一个NSViewController实例,我想查看持有该视图控制器实例的指针的所有其他对象。这会很有帮助,因为它可以让我看到封装我的实例的视图控制器层次结构。

只是我有一个疯狂的想法,有时真的会有所帮助。

4

2 回答 2

31

在lldb中,command script import lldb.macosx.heap用来安装一些内存搜索功能。ptr_refs 命令应该可以做你想做的事;用于ptr_refs --help了解更多信息。

于 2013-06-03T20:18:44.863 回答
0

这不是一个有效的解决方案,或者适用于所有情况,但您可以将您正在寻找的对象封装在您的一个类的访问器方法中,并在其中放置一个断点。通过遍历访问器方法的末尾,您最终可以看到所有的调用点。

或者,您可以删除变量的定义,编译器会吐出大量错误,每个错误也将是对该对象的调用。

如果您还没有,我建议您使用 ARC。理想情况下,您的代码不会混乱到无法通过阅读代码来识别引用,ARC 可以在该部门提供一些帮助

于 2013-06-03T05:12:20.883 回答