Подтвердить что ты не робот

LLDB эквивалентен команде GDB "info malloc-history <address>"?

Я пытаюсь разрешить ошибку "сообщение, отправленное на освобожденный экземпляр" в iOS.

4b9b3361

Ответ 1

См. карту команд LLDB-GDB (http://lldb.llvm.org/lldb-gdb.html) - вам нужно импортировать script, а команда называется malloc_info Теперь. Очевидно, что ведение журнала стека malloc по-прежнему необходимо включить в параметрах схемы.

(lldb) script import lldb.macosx.heap
(lldb) malloc_info --stack-history 0x10010d680

К сожалению, он не показывает dealloc - не так ли отображались данные Malloc-истории GDBs?

Ответ 2

Используйте инструменты, вы получите точную строку -

(В XCode) Запустите его через "Продукт" → "Профиль".

Это запустит Инструменты, там вы должны выбрать "Зомби" и воспроизвести событие ошибки.

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

Проблема обычно плохая __bridge (дополнительные мосты __brige_retained/__bridge_transfer/__bridge)

Ответ 3

Раньше вы использовали инструмент командной строки malloc_history из оболочки и указывали его идентификатор процесса и адрес, представляющий интерес. Похоже, что эта команда больше не установлена ​​новейшими инструментами командной строки Xcode.: - (