LLDB эквивалент `po` в GDB в Xcode4.1?

В GDB есть команда po, которая выводит сведения об объекте Objective-C. (с его описанием) В LLDB po просто печатает адрес памяти. Как я могу увидеть аналогичный вывод GDB в LLDB?


person eonil    schedule 24.07.2011    source источник
comment
рассмотрите возможность удаления этого вопроса, поскольку у LLDB есть po   -  person Vincent Gable    schedule 31.03.2012
comment
@VincentGable Нет. По той же причине мы используем SCM.   -  person eonil    schedule 01.04.2012


Ответы (4)


Он реализован в наши дни. Для полноты картины это псевдоним этой команды:

expression -o  --

Для получения справки по этой и другим командам LLDB используйте команду help:

help expression
person Victor Jalencas    schedule 16.03.2012
comment
Это то, что я подумал из документов. Однако всякий раз, когда я пытаюсь это сделать, я получаю следующий вывод: ошибка: метод экземпляра 'userData' имеет несовместимые типы результатов в разных единицах перевода ('void *' против 'id') примечание: метод экземпляра 'userData' также объявлен здесь примечание: объявлено здесь с ошибкой типа 'id': 1 ошибка синтаксического анализа выражения - person Chris Garrett; 18.03.2012
comment
Что ж, для меня это больше похоже на ошибку в коде, чем на проблему в LLDB. - person Victor Jalencas; 19.03.2012

Вот несколько полезных эквивалентов команд GDB в LLDB.

person Vincent Gable    schedule 31.03.2012

Похоже, что в настоящее время он еще не реализован. http://lldb.llvm.org/status.html

person eonil    schedule 24.07.2011
comment
Чего еще нет: Набор регрессионных тестов. Поддержка операционных систем еще не полностью модульная. Поддержка блоков. Вызов функций в выражениях. Поддержка Objective-C 2.0: свойства печати, синтетические свойства, выражения Objective-C, KVO, динамические типы, точечный синтаксис. , данные среды выполнения Поддержка C++: доступ к методам, обработка разделенных имен, динамические типы Поддержка исключений: разбиение по имени, брошенный объект, метатель - person Edward Ashak; 16.09.2011

Не знаю lldb, но, возможно, что-то в этом роде:

print _NSPrintForDebugger(obj)
person matt    schedule 31.07.2011