9

第一次的问题,所以不要反对我...

对于我创建的标准对象和子类,在 Allocations 或 Leaks Instruments 中找到特定对象是相当简单的。即,如果我想查看 UIViewController 的子类 ViewController,我可以滚动查看 Allocations 工具并查看活动对象的数量增加和减少。同样,如果该对象被泄露,Leaks Instrument 会列出它。我什至可以搜索特定的对象。

但是,我不确定在寻找 Objective-C 块时要寻找什么。我在 Leaks Instrument 中注意到泄漏的块显示为 __NSMallocBlock。但是,在使用分配工具时,不会显示对 __NSMallocBlock 的搜索。

任何想法在分配工具中寻找什么来跟踪 Objective-C 块?

非常感谢

4

1 回答 1

3

看来,至少从 Xcode 4.2.1 开始,(如 (^),我将使用大写/粗体)在分配工具中显示为只是一般的 Malloc 内存块(如内存块,那些小写不粗体)。

因此Malloc NN Bytes,NN 是该Block所需的字节数。通常是 Malloc 32 或 Malloc 64,具体取决于Block可能捕获的内容。

当然,很可能还有很多其他相同大小的 Malloc 块。如果您按负责任的呼叫者排序,这可能会帮助您将它们过滤掉。

于 2011-12-10T04:33:45.693 回答