Получение объекта с адреса памяти на iphone - PullRequest
0 голосов
/ 22 октября 2009

Я использую 'malloc_error _break', чтобы прервать ошибку двойного освобождения.

Трассировка стека не приводит меня к конкретной строке или объекту (только к коду сборки).

Я вижу адрес объекта:

... malloc: *** ошибка для объекта 0xfa1340: двойное освобождение

Как я могу найти объект, который представляет этот адрес? (0xfa1340)

(Я пытался найти его в инструменте «ObjectAlloc» - но не смог).

спасибо!

Ответы [ 2 ]

1 голос
/ 22 октября 2009

Вы хотите превратить n зомби. Это приведет к тому, что объекты, которые были освобождены, не будут свободными, но вместо этого они превратятся в объекты-зомби, которые все еще существуют, и вы увидите, что сообщение получено.

Вы можете включить его, установив для переменной окружения NSZombieEnabled значение YES. Для получения информации это технот.

0 голосов
/ 11 июля 2011

Дайте мне знать, если есть более простой способ.

Способ, которым я делаю это: Продукт-> Профиль. Это откроет инструменты. Я выбираю тогда Зомби. Затем, когда приложение падает, я нажимаю на «Статистика», чтобы выбрать «Список объектов», а затем нажимаю на маленькую стрелку рядом с шестнадцатеричным адресом. Он покажет вам объект, который он представляет.

...