10.1 Запуск дебагера
Ми будемо вивчати процес дебагу на основі IntelliJ IDEA, що логічно і приємно. Зараз ти в цьому переконаєшся.
В IntelliJ IDEA (потрібна версія Ultimate Edition) можна запускати твою програму в двох режимах:
| Режими запуску програми | Іконка на панелі | Гарячі клавіші |
|---|---|---|
| Звичайне виконання | ![]() |
Shift+F10 |
| Запуск у режимі налагодження | ![]() |
Shift+F9 |
Зі звичайним режимом роботи ти вже знайомий: програма запуститься, відпрацює та завершиться. А от режим налагодження несе для тебе чимало сюрпризів.
Режим налагодження
Режим налагодження дозволяє покроково виконувати всю твою програму. Або правильніше буде сказати, пострічково: рядок за рядком. При цьому ти можеш спостерігати значення змінних на кожному кроці програми (після виконання кожного рядка коду). І навіть змінювати їх значення!
Щоб мінімально опанувати мистецтво налагодження програми, тобі потрібно вивчити три речі:
- Точки зупинки
- Покрокове виконання
- Перегляд значень змінних
10.2 Точки зупинки (Break Points)
IDE дозволяє тобі розмістити в коді спеціальні мітки — точки зупинки (break point). Кожного разу, коли програма, запущена в режимі налагодження, буде доходити до рядка, позначеного як break point, вона буде ставати на паузу.
Щоб поставити break point на певному рядку, потрібно просто клікнути в IntelliJ IDEA зліва від цього рядка. Приклад:
У результаті рядок буде позначено точкою зупинки (break point), і IntelliJ IDEA підсвітить весь рядок червоним кольором:
Повторний клік мишею на панелі зліва від коду зніме встановлену break point.
Також break point можна просто поставити на поточному рядку за допомогою гарячої комбінації клавіш — Ctrl+F8. Повторне натискання Ctrl+F8 на рядку, де вже є break point, видаляє її.
10.3 Запуск програми в режимі налагодження (дебагу)
Якщо у твоїй програмі є принаймні одна точка зупинки, ти можеш запускати програму в режимі налагодження (Shift+F9 або «іконка з жуком»).
Після запуску в режимі налагодження програма виконується як зазвичай. Але щойно вона дійде до виконання рядка коду, позначеного break point, стане на паузу. Приклад:
У верхній половині скриншота ти бачиш код програми з двома точками зупинки. Програма зупинилася на рядку 2 — позначено синьою лінією. Рядок 2 ще не виконався: у консоль ще нічого не виводилося.
У нижній половині екрана ти бачиш панелі режиму налагодження: панель Thread & variables, панель Console (вивід на екран), а також набір кнопок для режиму налагодження.
Ти можеш зняти твою програму з паузи (продовжити її виконання), якщо натиснеш кнопку Resume Program на панелі зліва знизу (або натиснеш клавішу F9).
Якщо натиснути таку кнопку (або F9), програма продовжить роботу, поки не зустріне наступну точку зупинки або не завершиться. Ось що ми побачимо після натискання такої кнопки:
Програма зупинилася на другій точці зупинки, а в консоль виведено слова Hello та and – ознака того, що з трьох рядків виводу на екран виконалися лише два.
10.4 Покрокове виконання
Якщо твоя програма працює в режимі налагодження, ти також можеш виконувати її покроково: один крок — один рядок. Для покрокового виконання є дві гарячі клавіші: F7 і F8 — кожна з них призводить до виконання поточного рядка коду. Але спочатку тобі потрібно все ж таки зупинити твою програму за допомогою break point.
Якщо ти хочеш виконувати твою програму пострічково, тобі потрібно поставити break point на самому початку — на першому рядку з кодом і запустити її в режимі налагодження.
Коли програма зупиниться, ти зможеш почати покрокове її виконання. Одне натискання клавіші F8 — один рядок.
Ось як виглядатиме наша програма після зупинки і натискання клавіші F8 один раз:
Перший рядок — print(“Hello”) вже виконано, і поточний рядок — другий. Ти також можеш бачити внизу скриншота, що на екран уже виведено слово Hello.
10.5. Покрокове виконання з входженням у функції
Якщо у твоїй програмі є власні функції, і ти хочеш, щоб у режимі налагодження твоя програма не просто виконувалася покроково, але і заходила всередину твоїх функцій, то для «входження у функцію» тобі потрібно натискати не клавішу F8, а клавішу F7.
Припустимо, ти покроково виконуєш програму і зараз зупинився на 5-му рядку. Якщо ти натиснеш кнопку F8, Intellij IDEA просто виконає п'ятий рядок і перейде до шостого:
А от якщо ти натиснеш F7, Intellij IDEA буде покроково виконувати функцію hello():
Усе дуже просто. Якщо тобі не дуже важливо, що і як відбувається всередині методу, ти натискаєш F8, якщо важливо — F7 і покроково виконуєш весь його код.


ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ