# Діагностика

## Запуск засобу діагностики

Підтримку діагностики передбачено для коду асемблера, SDCC та Microbe, якщо код відкрито як текстовий документ. Після цього покрокове виконання керується меню Діагностика. Передбачено два способи запуску засобу діагностики.

Якщо програма PIC вже працює у схемі, подвійне клацання на компоненті PIC відкриє цю програму. Для програм PIC мовою асемблера засіб діагностики для текстового документа програми буде пов’язано з компонентом PIC. У цьому випадку меню діагностики не зможе зупинити виконання програми PIC, оскільки її власником є компонент PIC.

Якщо файл асемблерного коду вже відкрито, засіб діагностики можна запустити за допомогою меню Діагностика. Після компіляції програми засіб діагностики буде готовий до роботи, а програму PIC буде призупинено на першій команді. Зауважте, що під час роботи із кодом високорівневими мовами програмування поточну точку виконання не буде показано, якщо немає рядка, який відповідає першій команді асемблера, яку слід виконати. У цьому випадку натискання кнопки Далі переведе точку виконання на перший рядок програми.

## Керування засобом діагностики

Засіб діагностики може працювати у одному з двох режимів: виконання і покрокове виконання. У режимі виконання робота програми PIC імітуватиметься у режимі реального часу. Для покрокового виконання роботу програми PIC має бути призупинено або натисканням пункту Перервати у меню Діагностика, або натисканням кнопки призупинення на компоненті PIC.

У режимі покрокового виконання наступний рядок, який має бути виконано буде позначено зеленою стрілочкою на полях редактора текстового документа (так, як цей рядок позначається і у KDevelop). Вам варто увімкнути показ полів (смужки піктограм) за допомогою меню Перегляд (увімкнути показ полів для типового документа можна за допомогою діалогового вікна Параметри редактора).

Передбачено три типи покрокового виконання:

- Крок — виконати поточну команду. Зелену стрілочку буде пересунуто на наступний рядок, який має бути виконано.

- Переступити — якщо наступною командою є виклик підпрограми або подібна команда, вибір цього варіанта призведе до «переступання» виклику і повернення до режиму покрокового виконання, щойно обробку виклику буде завершено. У інших випадках «переступання» працює як звичайне виконання кроку-команди. З технічної точки зору «переступання» виглядає так — записується початковий рівень стека і виконання програми призупиняється, аж доки стек на повернеться на початковий рівень.

- Вийти — якщо виконуються команди у межах виклику, неперервне виконання буде продовжено до завершення виклику. Подібно до переступання, ця дія еквівалентна до очікування моменту, коли рівень стека повернеться до значення, яке на одиницю менше за початковий рівень, якщо початковий рівень був ненульовим.

Точки зупинки надають змогу зупинити виконання, коли виконання програми PIC досягає заданої команди. Щоб увімкнути або вимкнути точку зупинки на рядку, де розміщено курсор, або скористайтеся меню Діагностика або клацніть на бічній смужці текстового документа.

На бічній панелі Перегляд символів, розташованій праворуч, буде показано значення спеціальних функціональних регістрів. Щоб визначити значення змінної у регістрах загального вжитку, ви можете навести вказівник миші на назву змінної у команді, яка працює з цим регістром. Зауважте, що вибір основи числення на панелі Перегляд символів визначить і спосіб показу значення, якщо ви наведете вказівник миші на змінну.