Я пытаюсь разрешить ошибку "сообщение, отправленное на освобожденный экземпляр" в iOS.
LLDB эквивалентен команде GDB "info malloc-history <address>"?
Ответ 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.: - (