9

首先時間上的問題,所以不要認爲反對我......如何找到在分配Objective-C的端子或泄漏儀器

對於標準的對象和我創建的子類,它是相當直接找到分配或泄漏工具中的特定對象。即如果我想查看名爲ViewController的UIViewController的子類,則可以滾動查看Allocations工具並查看增加和減少的活動對象的數量。同樣,如果該物體泄漏,泄漏儀器將列出它。我甚至可以搜索特定的對象。

但是,我不確定在尋找Objective-C塊時要查找什麼。我已經注意到泄漏儀器中泄漏的塊變成了__NSMallocBlock。但是,使用分配工具時,不會顯示__NSMallocBlock的搜索。

任何想法在分配工具中尋找什麼來跟蹤Objective-C塊?

非常感謝

回答

3

看來,至少在Xcode的4.2.1,即(如(^),我會用大寫/加粗那些)的分配器械,其顯示出來只是一般的Malloc內存塊(如內存塊,小寫不是粗體)。

因此Malloc NN Bytes其中NN是所需的字節數。通常是Malloc 32或Malloc 64,具體取決於Block可能捕獲的內容。

當然,最有可能有很多其他Malloc塊大小相同。如果您按負責任呼叫者排序,可能會幫助您將其濾除。

+0

這聽起來像是一個很好的開始。我會檢查出來的。 – timthetoolman