Отладчик intellij idea, java

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

1. Запуск налагоджувача

Після завершення налаштування стартової конфігурації вашого проекту, ви можете запустити його в режимі налагодження, натиснувши Shift + F9.

Отладчик intellij idea, java

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

2. Корисні гарячі клавіші

Додавання / зняття точки зупину (Toggle breakpoint) - Ctrl + F8 (Cmd + F8 для Mac)

Продовжити виконання програми (Resume program) - F9

Крок з обходом (Step over) - F8

Крок зі входом (Step into) - F7

Зупинка (Stop) - Ctrl + F2 (Cmd + F2)

Налагодження коду у позиції курсору (Debug code at caret) - Shift + Ctrl + F9 (наприклад, якщо ви залишаєтеся всередині методу main)

3. «Розумний» крок з входом (Smart step into)

Отладчик intellij idea, java

4. Скидання фрейма (Drop frame)

У разі, якщо ви хочете «повернутися назад у часі» при налагодженні, на допомогу прийде функція «Скидання фрейма». Вона стане в нагоді, якщо ви помилково зайдете занадто далеко. Це не зверне глобального стану вашого застосування, але, по крайней мере, поверне вас назад до стека фреймів.

Отладчик intellij idea, java

5. Виконання до курсора (Run to cursor)

Іноді буває необхідно продовжити виконання програми з зупинкою на певній сходинці коду, при цьому не додаючи ще одну точку зупину. Це просто: натисніть Alt + F9.

Отладчик intellij idea, java

6. Позначити вираз (Mark instance)

Якщо якесь вираження необхідно розпізнавати при кожному запуску процесу налагодження, ви можете встановити на нього колірну мітку, натиснувши F11 або викликавши контекстне меню на вкладці «Variables and Watches» (Змінні і відслідковують змінні).

Отладчик intellij idea, java

Коли цей вислів в наступний раз з'явиться в одному з полів «Watches» (відстежує змінні), «Variables» (Змінні) або «Evaluate expression» (Обчислити вираз), ви побачите мітку.

Отладчик intellij idea, java

7. Обчислити вираз (Evaluate Expression)

Перебуваючи в режимі налагодження можна обчислити будь-який вираз за допомогою вкрай ефективного інструменту «Обчислити вираз», натиснувши Alt + F8.

Отладчик intellij idea, java

Отладчик intellij idea, java

Якщо у вас є якісь вирази з встановленими мітками, функція автозаповнення запропонує вам їх імена для обчислення.

Отладчик intellij idea, java

8. Умова і дані точки зупину

Якщо ви хочете змінити дані точки зупину, натисніть Shift + Ctrl + F8 (Shift + Cmd + F8 для Mac). Тут ви зможете вказати умова зупинки.

Отладчик intellij idea, java

При наявності будь-яких виразів до встановлених мітками, ви зможете використовувати їх в вираженні умови.

Отладчик intellij idea, java

Щоб побачити всі точки зупинки в проекті (з додатковими налаштуваннями), натисніть Shift + Ctrl + F8 (Shift + Cmd + F8 для Mac) ще раз.

9. Точки зупинки в полях (Field breakpoints)

Крім точок зупину з умовами, ви можете використовувати їх і в полях (Field). Ці точки зупину спрацьовують, коли до поля запитується доступ на читання або запис. Для створення такої точки зупину просто клікніть по внутрішньому полю, затиснувши Alt.

Отладчик intellij idea, java

10. Точки зупинки по певних дій (Action breakpoints)

Для обчислення будь-якого виразу в довільній рядку коду, без фактичного переривання виконанню програми, може стати в нагоді наступний інструмент. Він називається «Точка зупину по певних дій». Для її створення просто клікніть по внутрішньому полю, утримуючи Shift.

Отладчик intellij idea, java

11. Тимчасові точки зупинки (Temporary breakpoints)

Для створення точки зупину, викликає одноразове переривання, клікніть по внутрішньому полю, утримуючи Shift + Alt.

Отладчик intellij idea, java

12. Відключення точок зупину

Корисно знати, що будь-яку з точок зупину можна швидко відключити, клікнувши по внутрішньому полю, утримуючи Alt.

Отладчик intellij idea, java

13. Перезавантаження змін і «гаряче» підключення

Іноді необхідно внести в код незначні зміни, не перериваючи процес виконання програми. Оскільки в Java JM передбачена функція HotSwap ( «Гаряча» заміна), IDE обробляє такі завдання автоматично, пропонуючи перезавантажити змінені класи при їх компіляції в режимі налагодження.

Отладчик intellij idea, java

Не забувайте, що у функції HotSwap є деякі обмеження, і вона не підтримує перезавантаження статичних полів і методів.

14. Дистанційна налагодження (Remote debug)

Нарешті, остання річ, про яку необхідно знати при налагодженні в IntelliJ IDEA - це функція «Дистанційна налагодження». Вона має на увазі підключення відладчика до процесу, який вже запущений на певному порте вашого або будь-якого іншого хоста. Таким чином ви можете підключити відладчик до свого сервера додатків, що працює автономно.

Для створення віддаленої конфігурації відкрийте розділ 'Edit configurations' (Редагувати конфігурації) і додайте віддалену (Remote) конфігурацію запуску. Перед запуском даної конфігурації переконайтеся, що вказали правильну хост і порт.

Отладчик intellij idea, java

15. Налаштування

Якщо ви хочете змінити настройки отладчика, використовувати стандартну натисніть Settings (Настройки) → Debugger (Отладчик).

Отладчик intellij idea, java