JavaRush /Курси /Java Syntax Zero /Debug in IDEA: змінні

Debug in IDEA: змінні

Java Syntax Zero
Рівень 5 , Лекція 8
Відкрита

1. Watch

Щоразу під час зупинки програми за допомогою break point або під час покрокового виконання ви можете переглянути значення змінних, які відомі в певному місці програми.

Спробуймо написати програму, яка заповнює масив із 10 елементів числами від 100 до 109. Приклад:

Інтелектуальна система IntelliJ IDEA прямо над кодом відображає значення важливих змінних. У нашому випадку — це змінна-масив data.

Крім того, в нижній частині знімку екрана зараз відкрито вкладку Debugger (а не Console), і в ній відображаються всі змінні (зі своїми значеннями), відомі в цьому місці програми.

Якщо натиснути 10 разів клавішу F8, то буде виконано 5 витків циклу (одне натискання для заголовка циклу і одне для тіла циклу). Тоді ви отримаєте такий результат:

Виконано 5 ітерацій циклу з 10, і ви бачите, що в масиві data вже є 5 значень: 100, 101, 102, 103 і 104.

До речі, якщо згорнути вміст масиву, можна побачити ще кілька корисних змінних:


2. Заміна значень змінних

До речі, якщо ви хочете перевірити, як ваша програма працюватиме при певних значеннях змінних, ви можете просто замінити значення будь-яких змінних під час виконання програми (в режимі налагодження).

Для цього потрібно клацнути правою кнопкою миші на імені змінної або натиснути клавішу F2:

Потім ви просто пишете нове значення змінної і натискаєте клавішу Enter. Все!


3. Виконання фрагмента коду

Крім того, на будь-якому етапі роботи програми можна виконати довільний код. Роблять це за допомогою комбінації клавіш Alt+F8 або вибору відповідного пункту в контекстному меню:

На екрані з'явиться спеціально вікно, де ви можете написати будь-який код, в якому можна використовувати змінні, відомі на цей момент виконання програми!

Можна викликати будь-які методи: скажімо, наказати програмі вивести певний текст на екран, не перериваючи її роботи! Приклад:

Ви щойно дізналися заледве про 5 % усіх можливостей IntelliJ IDEA. Коли ви їх опануєте, поговоримо про решту.

Коментарі (38)
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ
hidden #3500645 Рівень 30
20 листопада 2024
І для демонстрації Evaluate Expression не дуже зрозумілий приклад також, досить важко розібратися без сторонніх джерел. Ось більш вдалий приклад, щоб зрозуміти, як ця функція працює в IDEA

public class DebugEvaluateExample {
    public static void main(String[] args) {
        int a = 5;
        int b = 10;
        int sum = a + b;
        System.out.println("Sum: " + sum);
    }
}
Кроки: 1. Поставте точку зупинки breakpoint на рядок:

int sum = a + b;
2. Запустіть режим налагодження Debug. 3. Коли програма зупиниться, натисніть ПКМ і відкрийте Evaluate Expression. 4. Виконайте наступні операції у вікні Evaluate Expression: Введіть вираз a * b і натисніть Evaluate. Ви побачите результат 50. Введіть вираз a = 20 і натисніть Evaluate. Це змінить значення змінної a на 20. Після зміни a, введіть a + b і натисніть Evaluate. Ви отримаєте новий результат: 30. Продовжіть виконання програми натиснувши F9
hidden #3500645 Рівень 30
20 листопада 2024
Значення змінної sum обчислюється з новим значенням a і буде виведено у консоль: Sum: 30, а не Sum: 15 При тому початковий код ніяк не зміниться Сподіваюсь, комусь буде корисна ця інформація, бо в лекції не дуже добре роз'яснено, особисто я читаючи лекцію не зовсім зрозуміла як воно працює, доки не подивилась інше джерело з прикладами і сама не спробувала потестити як воно працює
hidden #3500645 Рівень 30
20 листопада 2024
Єдине, що незрозуміле по цій лекції, пункт 2. Заміна значень змінних Якщо встановити через Set Value значення змінної і - 9, то нічого не відбувається.. Можливо просто приклад невдалий для демонстрації цієї функції 🤔
hidden #3500645 Рівень 30
20 листопада 2024
Розібралась як працює ця функція, можливо також комусь буде корисно, бо в лекції приклад не дуже зрозумілий вибрали Візьмемо простий код:

public class DebugExample {
    public static void main(String[] args) {
        int number = 10; // Початкове значення змінної
        System.out.println("Before: " + number); // Вивід початкового значення
        number = number + 20;
        System.out.println("After: " + number); // Вивід після змін
    }
}
1. Поставте точку зупинки на рядок:

number = number + 20;
2. Запустіть налагодження (Debug). 3. Коли програма зупиниться, ви побачите, що number = 10 у вікні Debugger. 4. Виберіть Set Value для змінної number і змініть значення, наприклад, на 50. 5. Продовжіть виконання натиснувши F9. Програма виконає наступний рядок з новим значенням:

number = 50 + 20;
Початковий код залишиться незмінним, проте в консолі побачимо результат з тестовим значенням, введеним у Set Value, тобто: Before: 10 After: 70
hidden #3500645 Рівень 30
20 листопада 2024
Для тих, хто користується більш оновленими версіями Intellij IDEA (в мене IntelliJ IDEA Community Edition 2024.2.4) - за замовчуванням в меню Debug не відображаються елементи масиву в полі Threads and Variables, тут в лекції показана старенька версія і з тих часів змінився інтерфейс. Натиснувши на жука ви побачите, скоріш за все, щось таке: Для того, щоб відкрити в режимі налагодження вміст масиву потрібно натиснути на нижній панелі More і Smart Step Into і тоді вже можна гратися з кодом Можливо комусь буде корисно в майбутньому, бо я не одразу знайшла, як відкрити це поле
Іван Рівень 8
3 листопада 2024
All going well through the Intellij IDEA, previously synchronised with JavaRush !
Олександр Рівень 79
3 листопада 2024
Комбінація Alt+F8 не спрацювала. Запускав через контекстне меню.
laura-svg Рівень 14
19 жовтня 2024
Привіт. Якщо при натисканні F-8 в тебе як і в мене замість проходження по коду запускається скріншот екрана. Просто перед натисканням F8 зажми FN(зазвичай клавіша знаходиться знизу ліворуч). Якщо не допомогло спробуй варіанти с цієї статті https://uk.soringpcrepair.com/how-to-enable-f1-f12-keys-on-laptop/. Наснаги тобі в навчанні)))))
AlexBrr Рівень 10
24 вересня 2024
У мене в плагіні в IDEA ці задачі не доступні мені висвічується повідомлення синхронізуйте задачі в меню плагіна, але пояснення де то меню плагіна ніде нема, що мені робити?
Pavlo Рівень 8
12 травня 2024
O богі, друге завдання на macOS, якщо не відбувається магії, клікаєм Fn+Option+F8 а не так, як вказано у завданні Option+F8 І все запрацює, має зʼявитися попапчик. Адміни, поправте опис завдання, не робіть людям больно)
Станіслав Рівень 20
19 березня 2024
По другому завданню... Натискаю Alt+F8, та здобуваю зарошення на якусь трансляцію...
Саша Рівень 1
17 березня 2024
Чи не могли б ви пояснити як оновити плагін? Бо мені пише, що задача закрита.