Для отладки программы и ее исследования применяется встроенный отладчик lldb.
Подробную документацию по lldb можно найти на официальном сайте по адресу https://lldb.llvm.org/. Использование среды разработки XCode облегчает отладку программы.
Для получения информации о работе программы в какой-то определенный момент выполнения можно использовать точки прерывания. В XCode для установки точки прерывания достаточно нажать на номер нужной строки. Например, поставим точку прерывания на первую инструкцию программы и для этого нажмем на ее номер. После установки точки прерывания на строку ее номер в XCode окрасится синим цветом:
После начала выполнения работа программы остановится на строке с точкой прерывания:
А под полем с исходным кодом откроется поле отладки, где будет значится (lldb)
.
Основной функционал по отладке мы можем найти в меню Debug, а кнопки для выполнения самых базовых команд - в поле отладки
В частности, в меню мы можем выбрать опцию Continue
для перехода к новой точке прерывания. Также мы можем пройтись по всем последующим инструкциям с помощью опции
Step Over (также доступна через горячую клавишу F6).
Чтобы получить и управлять информацией о программе в процессе отладки, можно использовать команды отладчика lldb. Все команды перечислены на странице https://lldb.llvm.org/use/map.html. Рассмотрим на примере получения информации о регистрах.
Итак, чтобы получить информацию о регистрах в процессе выполнения, в поле отладки lldb надо ввести команду
register read --all
Так, исходя из содержимого регистра X1 видно, что в него загружен адрес строки message1.
Чтобы отключить или вообще удалить точку прерывания, надо нажать на нее правой кнопкой мыши и в констекстном меню выбрать либо
Disable Breakpoint
(отключить точку прерывания), либо Delete Breakpoint
(удалить точку прерывания):