Невозможно использовать команду po в консоли (область отладки) - PullRequest
3 голосов
/ 04 апреля 2019

Внезапно я начал получать это сообщение случайно (но довольно часто)

выражение произвело ошибку: предупреждение: /var/folders/53/0z4yfqt16tvbcn0z7f2385n80000gn/T/expr3-d271e2..swift:3:9: предупреждение: инициализация переменной '$ __ lldb_error_result' никогда не была используемый; рассмотрите возможность замены присвоением '_' или удаления его var $ __ lldb_error_result = __lldb_tmp_error ~~~~ ^ ~~~~~~~~~~~~~~~~~~~ _

когда я пытаюсь набрать что-то подобное в консоли:

po myObject

Итак, консоль печатает только сообщение выше, а не дает мне что-то полезное ... Как это исправить и чем это вызвано?

Ответы [ 4 ]

3 голосов
/ 04 апреля 2019

lldb изменилось в Xcode 10.2.Apple рекомендует использовать «p» или совсем недавно «v» для просмотра значений переменных.

из примечаний к выпуску Xcode 10.2

Отладчик LLDBимеет новый псевдоним команды v для команды «frame variable» для печати переменных в текущем кадре стека.Поскольку он обходит вычислитель выражений, v может быть намного быстрее и должен быть предпочтительнее p или po.(40066460)

Об этом также есть хорошая информация в Учебное пособие по LLDB в разделе Исследование состояния кадра стека .

Команда переменной кадра также будет выполнять операции «печати объекта» с переменными (в настоящее время мы поддерживаем только печать ObjC, используя метод «описания» объекта. Включите это, передав флаг -o переменной кадра:

(lldb) frame variable -o self 
(SKTGraphicView *) self = 0x0000000100208b40 
<SKTGraphicView: 0x100208b40>

0 голосов
/ 23 апреля 2019

@ mike-hay's answer, ссылка на учебник LLDB была изменена на "https://lldb.llvm.org/use/tutorial.html",, но мне не разрешено редактировать ее, потому что редактирование слишком короткое, и мне не разрешено комментировать сообщениепотому что у меня слишком мало репутации ...

0 голосов
/ 05 апреля 2019

Используйте команду debugprint вместо команды po.

0 голосов
/ 05 апреля 2019

Похоже, вы используете Swift. Вы можете получить такую ​​ошибку, когда обновите свой XCode, но не полностью перестроите все свои быстрые зависимости с новым набором инструментов. Если после того, как вы очистили все свои зависимости (включая модули Pod или Carthage и т. Д.) И перестроили их все локально, вы по-прежнему получаете эту ошибку, если это проект, который вы можете сделать доступным, пожалуйста, сообщите об ошибке либо с помощью http://bugs.swift.org или http://bugreporter.apple.com и мы посмотрим.

...