Мобильный кот
2.71K subscribers
88 photos
3 videos
2 files
87 links
Все, что считаю важным про жизнь мобильного разработчика

Шкаф с материалами
https://t.me/cat_with_mobile_cabinet
Download Telegram
December 30, 2020
December 30, 2020
February 24, 2021
July 14, 2021
🔧LLDB - это низкоуровневый отладчик (debugger), входящий в состав базового элемента компилятора Swift - LLVM. Многие из нас создают программы не зная о том, что могут использовать его возможности при отладке, об этом мы сегодня и поговорим. LLDB имеет множество команд, которые можно использовать прямо в консоли Xcode.

Как только вы приостановили выполнение приложения (например по сработавшему брейкпоинту), в консоли появляется надпись (lldb), сообщаяющая, что вы можете вводить требуемые команды.

1️⃣Вывод значения параметра
Команды print и po, например
(lldb) po UIApplication.shared.delegate.someGlobalSet

При этом в консоли будет выведена полная структура объекта. Команды po и print имею немного отличающийся формат вывода.
po ...
▿ 2 elements
- 0 : 5
- 1 : 6

print ...
(Set<Int>) $R7 = 2 values {
[0] = 5
[1] = 6
}

2️⃣Изменение значение параметра прямо в ходе исполнения
Команды expression и e, например
(lldb) e parameterName = someValue

Эта команда позволит изменить значение параметра parameterName на someValue. При этом прямо в консоли присутсвует автодополнение, а также происходит проверка типов и изменяемости параметров.

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

3️⃣Текущий состав фрейма стека текущего потока
Команда frame, например
(lldb) frame variable

Просто выводит простыню-структуру текущего фрейма (если не помните, что это, то читайте про стек, кучу и память).

Эти команды лишь для затравки вашего интереса. LLDB предоставлет стооолько всего интересно, что я настоятельно рекомендую вам продолжить знакомтсво с ним самостоятельно. Например с помощью этой статьи или этого видео.

Другие полезные штуки по хэштегам #xcode #инструменты #пишемхорошийкод
July 25, 2021