LLDB эквивалентно команде GDB «info malloc-history <адрес>»?

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

 Brad Thomas09 дек. 2016 г., 02:35
Это было бы хорошо, если бы инструменты не блокировали машину
 Richard J. Ross III16 мар. 2012 г., 15:29
Используйте инструменты, это дает вам эту информацию.
 Sanjit Saluja23 апр. 2012 г., 20:36
@Richard, использование инструмента Zombie поможет вам отладить это, но иногда приятно знать историю malloc, сидя в gdb.

Ответы на вопрос(3)

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

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

К сожалению, он не показывает dealloc - разве это не показывает история malloc в GDB?

 tinkl20 мая 2016 г., 07:56
(lldb) script import lldb.macosx.heap >>> Установлены команды «crashlog» и «save_crashlog», используйте опцию «--help» для получения подробной справки: «malloc_info», «ptr_refs», «cstr_refs», «find_variable» и «objc_refs» установлены, используйте параметры «--help» в этих командах для подробной справки.
 Shaun Budhram31 окт. 2014 г., 06:43
Для меня первой строкой должна была быть команда import import lldb.macosx.heap, в противном случае консоль выдаст сообщение об ошибке: malloc_info - недопустимая команда. (Mac OS)
 Walt Sellers09 окт. 2013 г., 07:44
когда я посмотрел на связанную страницу, она показала эти команды как «доступные только в Mac OS X»

y из оболочки и указывать ему идентификатор процесса и интересующий адрес. Кажется, эта команда больше не установлена последними инструментами командной строки XCode. :-(

 manylegged25 авг. 2013 г., 03:25
У меня установлена и работает malloc_history с xcode 4.6.3.

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

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

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

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

 Matthew Horst14 нояб. 2012 г., 16:45
Это отлично сработало для меня. Спасибо!
 avishic26 янв. 2017 г., 12:06
@ lwdthe1 Вы можете увидеть в выводе Xcode освобожденный класс, в который было отправлено сообщение - это даст вам подсказку относительно освобожденного экземпляра.
 lwdthe126 янв. 2017 г., 04:51
Я не совсем вижу точную линию. Что я могу делать не так?

Ваш ответ на вопрос