HeapShot с помощью инструмента для обнаружения утечек памяти - PullRequest
0 голосов
/ 08 сентября 2011

Heapshot Instrument Пожалуйста, помогите мне понять, как я могу использовать эту статику, показанную на картинке. Как эффективно использовать heapshot для обнаружения утечек памяти?

Я добавил изображение прибора, используя утечки. Но я не могу найти точное место утечки памяти. Пожалуйста, наведите меня на это. Leaks

1 Ответ

2 голосов
/ 08 сентября 2011

По сути, в этом снимке кучи будет отображаться любой объект, который был создан после предыдущего снимка и который все еще является «живым» (со счетом сохранения> 0).

Типичное использование - «ударить»«Отметить кучу», затем перейдите в контроллер представления, нажмите несколько кнопок, выполните несколько действий, а затем нажмите кнопку «Назад».Сделайте еще один снимок и изучите список объектов.Вы должны убедиться, что вокруг не осталось никаких предметов, которые должны были быть очищены.Это могут быть такие вещи, как сам контроллер представления, объекты модели и т. Д.

Если вы хотите обнаружить реальные утечки (не связанные объекты), используйте инструмент «Утечки».Если вы хотите найти другие типы неограниченного роста памяти, то есть объекты, на которые все еще ссылаются и которые живы, которых не должно быть, изучите кучи с помощью инструмента выделения, как на этом снимке экрана.

РЕДАКТИРОВАТЬ:

Вы добавили скриншот Leaks в исходное сообщение.Чтобы увидеть трассировку стека, для которой был выделен этот объект, нажмите эту кнопку:

enter image description here

Это должно показать вам, где был создан объект.Затем вам нужно выяснить, куда должен поступить соответствующий вызов.

...