这应该是如此简单,然而,它正在回避我:当在Xcode / gdb调试器中的断点处停止时,我希望找到从NSObject派生的对象的当前引用计数。我怎样才能做到这一点?我似乎无法找到方法,这让我很生气。
答案 0 :(得分:3)
更好:转到控制台(命令+ shift + r)并输入:
p(int)[objectName retainCount]
按回车键。你可以在那个控制台上执行你想要的任何语句(它至少是目前的GDB),进行你想要的任何代码调用,它仍然会尝试 - 通常也会成功 - 来得出结果。 'p'是将结果打印为C原语,'po'将结果打印为Objective-C类(即,通过调用'description'就像你对NSLog实例一样)。 'int'就在那里,因为GDB不能总是在运行时确定返回类型,在这种情况下你需要告诉它。
答案 1 :(得分:1)
就像
一样简单NSLog(@"retainCount:%d", [objectName retainCount]);
其中objectName
是您对相关对象命名的内容。
请注意,这不适用于NSStrings,因为它们的管理方式不同。