Отладка программы для MacOS

Последнее обновление: 01.08.2023

Для отладки программы и ее исследования применяется встроенный отладчик lldb.

Подробную документацию по lldb можно найти на официальном сайте по адресу https://lldb.llvm.org/. Использование среды разработки XCode облегчает отладку программы.

Для получения информации о работе программы в какой-то определенный момент выполнения можно использовать точки прерывания. В XCode для установки точки прерывания достаточно нажать на номер нужной строки. Например, поставим точку прерывания на первую инструкцию программы и для этого нажмем на ее номер. После установки точки прерывания на строку ее номер в XCode окрасится синим цветом:

Отладка программы на ассемблере ARM64 в среде XCode

После начала выполнения работа программы остановится на строке с точкой прерывания:

Отладка в среде XCode

А под полем с исходным кодом откроется поле отладки, где будет значится (lldb).

Основной функционал по отладке мы можем найти в меню Debug, а кнопки для выполнения самых базовых команд - в поле отладки

Отладка программы в среде XCode

В частности, в меню мы можем выбрать опцию Continue для перехода к новой точке прерывания. Также мы можем пройтись по всем последующим инструкциям с помощью опции Step Over (также доступна через горячую клавишу F6).

Чтобы получить и управлять информацией о программе в процессе отладки, можно использовать команды отладчика lldb. Все команды перечислены на странице https://lldb.llvm.org/use/map.html. Рассмотрим на примере получения информации о регистрах.

Итак, чтобы получить информацию о регистрах в процессе выполнения, в поле отладки lldb надо ввести команду

register read --all
Получение информации о регистрах в процессе отладки программы в среде XCode

Так, исходя из содержимого регистра X1 видно, что в него загружен адрес строки message1.

Чтобы отключить или вообще удалить точку прерывания, надо нажать на нее правой кнопкой мыши и в констекстном меню выбрать либо Disable Breakpoint (отключить точку прерывания), либо Delete Breakpoint (удалить точку прерывания):

Управление точками прерывания в процессе отладки программы в среде XCode
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850