- Отладка программы
Отладка программы
Отладчик в исходных кодах является встроенной компонентой среды mikгоС. Он предназначен для симуляции работы МК и для облегчения пользователю процесса отладки кодов программы на языке программирования Си, написанных для этих микроконтроллеров.
После успешной компиляции проекта можно запустить отладчик с помощью команды Run —> Start debugger из выпадающего меню, или кликнуть по пиктограмме отладчика , или нажать клавишу F9. При этом появится окно отладчика программы (см. рис. 7).
Рис. 7. Окно отладчика программы
Отладчик позволяет выполнять пошаговое исполнение программы (Step Into), пошаговое исполнение с «перешагиванием» функций (Step Over), исполнение до текущей позиции курсора (Run to Cursor) и т.д. Строка программы, которая будет исполняться, подсвечивается (по умолчанию - синим цветом).
В отладчике можно включать и выключать точки останова в текущей позиции курсора с помощью клавиши F5. Чтобы посмотреть все точки останова, используется команда Run—> View Breakpoints из выпадающего меню. Щелчок левой кнопкой мыши по номеру строки в окне исходного текста программы также включает и выключает точку останова в этой строке.
Команда Run to cursor (клавиша F4) выполняет все операторы программы от текущего и до позиции курсора.
Команда Step Into (клавиша F7) выполняет текущий оператор программы с заходом в вызываемую функцию.
Команда Step Over (клавиша F8) выполняет текущий оператор программы без захода в вызываемую функцию.
Команда Step Out (клавиши Ctrl+F8) последовательно выполняет все операторы программы, пока не встретится точка останова.
Переключение между окном программы на языке Си и окном с дезассемблированным кодом осуществляется с помощью комбинации клавиш Alt+D.
Окно наблюдения отладчика (Watch) -это основное окно отладки, которое позволяет контролировать элементы программы во время её отладки. Чтобы открыть окно наблюдения, надо выбрать команду View ->Debug Windows -> View Watch из выпадающего меню во время отладки. Окно наблюдения показывает переменные и регистры микроконтроллера, их адреса и значения. Значения обновляются в процессе симуляции работы программы в отладчике. Последние изменённые элементы в окне выделяются красным цветом. Для добавления или удаления наблюдаемых элементов в окно следует использовать соответствующее выпадающее меню.
Двойной щелчок на элементе в окне наблюдения открывает окно редактирования, где можно присвоить выбранной переменной или регистру новое значение. Также можно выбрать двоичное, шестнадцатеричное, десятичное или символьное представление этого значения в окне наблюдения.
Рис. 8. Окно хронометража отладчика
Окно хронометража (Stopwatch) отладчика (см. рис. 8) доступно из выпадающего меню View -> Debug Windows -> View Clock. В окне хронометража отображается текущий счётчик (Current Count) периодов тактовой частоты и секунд от момента запуска отладчика. Секундомер (Stopwatch) измеряет время исполнения в периодах тактовой частоты и секундах от момента запуска отладчика и может быть обнулён в любое время. Разность (Delta) представляет фактически время выполнения участка программы от предыдущей точки останова до текущей в периодах и секундах (при пошаговом исполнении отображается время выполнения одной строки кода программы на Си). Также в окне отображается текущая тактовая частота микроконтроллера (Clock).
Тактовую частоту в окне хронометража можно изменять, что приведёт к пересчёту времени в секундах. Это изменение не влияет на текущие установки проекта, где тоже задана тактовая частота микроконтроллера, а влияет только на расчёт времени симуляции.
Рис. 9. Окно просмотра памяти МК
Окно просмотра памяти (View RAM Window) доступно из выпадающего меню View -> Debug Windows -> View RAM. Окно просмотра памяти (см. рис. 9) показывает карту памяти МК, где самые последние изменения выделены красным цветом. Можно изменять значения полей карты памяти путём двойного щелчка на нужном поле.
В случае если компилятор обнаруживает ошибку, он сообщает об этом и не создаёт выходной файл. Окно ошибок, расположенное по умолчанию внизу основного окна, напоминает об этом. Окно ошибок расположено под вкладкой сообщений и отображает место и тип ошибки, обнаруженной компилятором. Также компилятор выводит предупреждения, но они не влияют на выходной файл. Двойной щелчок по строке сообщения в окне ошибок приводит к подсветке строки исходного текста, где эта ошибка была обнаружена.