我想找出创建引用的位置.然后我将能够告诉它应该在哪里为NulL,或者它应该是一个弱引用.
我想象的可能的解决方案:
如果我可以为每个修改引用计数(即保留计数)的地方设置断点,那么我将很快找到问题.我只是不知道如何设置这样一个断点.也许在ARC之前的时候,这可以通过在retain和release中设置断点来完成,但我不知道如何使用ARC执行此 *** 作.
高度简化的示例代码:
我在我的一个课程中完成了这个,我知道在哪里:
// Shouldbedeallocated.m- (voID) dealloc { NSLog(@"%s",__FUNCTION__); // this never shows up in output}
我怀疑我前段时间写过这样的代码,但我找不到它的位置:
// UnkNownSUSPECT.m@interface UnkNownSUSPECT ()@property (strong,reaDWrite) ID referenceWhichIsNeverNeeded;@end- (voID) someMethod:(Shouldbedeallocated*)ref { self.referenceWhichIsNeverNeeded = ref; // The object pointed to by referenceWhichIsNeverNeeded will // not be dealloc'ed unless the property gets overwritten.}解决方法 您可以使用Instruments来分析内存分配.然后,您可以看到代码中的哪个位置正在分配它并更改保留计数.仪器还可以帮助您查找代码中存在内存泄漏的位置,即使使用ARC也是如此. 总结
以上是内存溢出为你收集整理的ios – 如何在objective-c / Xcode中找到阻止dealloc的无用引用?全部内容,希望文章能够帮你解决ios – 如何在objective-c / Xcode中找到阻止dealloc的无用引用?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)