JavaRush /Курсы /Java Collections /IDEA: debug,точки останова

IDEA: debug,точки останова

Java Collections
9 уровень , 3 лекция
Открыта

— Привет, Амиго!

— Привет, Элли! У тебя новая прическа? Тебе очень идет!

— Да? Спасибо!

Сегодня я расскажу тебе про работу в Intellij IDEA.

— Так я уже работаю в ней и довольно давно.

— Да, я знаю, поэтому и хочу тебе рассказать про некоторые вещи, которые значительно упрощают жизнь.

Первое и самое главное, что должен уметь каждый разработчик – это отладка программы. Или как еще называют – дебаг. Баг по-английски – жук – сленговое название ошибок в программе.

В Intellij IDEA можно запустить приложение в двух режимах.

Кнопки Режимы
IDEA: debug,точки останова - 1 Обычный запуск программы
IDEA: debug,точки останова - 2 Запуск программы в режиме отладки (дебага)

— Ага. Кнопка в виде жука – это дебаг. Прикольно придумано.

— Самое важное! При запуске в режиме отладки ты можешь выполнять приложение пошагово. По одной строчке за раз.

А самая важная часть дебага – это точки останова.

На любой строчке кода ты можешь поставить точку останова – BreakPointПрограмма, запущенная в режиме отладки, дойдёт до этой точки и остановится. Чтобы поставить BreakPoint, надо поставить курсор на нужную строку и нажать Ctrl+F8. Чтобы убрать – снова Ctrl+F8.

Чтобы продолжить исполнение программы до следующей точки остановки, надо нажать F5.

Чтобы продолжить исполнение программы пошагово (построчно), надо нажать F7 или F8.

При этом, при нажатии F7 программа будет заходить в методы, когда они вызываются.

При нажатии F8 вызов метода будет считаться за 1 шаг – программа не будет заходить в методы.

— А можно рассказать об этом нюансе более подробно?

— Конечно. Вот скопируй себе код, а я на его примере объясню, что надо делать:

Код
package com.javarush.test;

public class MainClass
{
 public static void main(String[] args)
 {
  int n = 100;
  int sum = 0;

  for (int i = 0; i< n; i++)
  {
   sum += i;
  }

  System.out.println(sum);
 }
}

В этом примере мы просто считаем сумму чисел от 0 до n.

Как поставить точку остановки – BreakPoint

Вариант 1 – стать курсором на нужную строку и нажать Ctrl+F8.

Вариант 2 – кликнуть слева от нужной строки.

Как поставить точку остановки Результат
IDEA: debug,точки останова - 3 IDEA: debug,точки останова - 4

Чтобы убрать BreakPoint – кликни на красный кружочек или нажмите Ctrl+F8.

Теперь запускаем программу кликом мышкой на кнопке дебаг.

Должно получится что-то типа такого:

IDEA: debug,точки останова - 5

Весь код программы выполнился до синей строки. Строка, выделенная синим цветом, еще не выполнилась.

Нажми F8 и выполни ее. Должно получится как на картинке ниже:

IDEA: debug,точки останова - 6

Красная – точка остановки – BreakPoint
Синяя – текущая строка отладки/дебага

Давай заменим число 100 в коде на 5 и попробуем выполнить всю программу пошагово. Вот какая будет последовательность шагов:

IDEA: debug,точки останова - 7

Первый шаг – это строчка выделенная красным.

Пустые строки пропускаются, так же как и скобки – там нет никакого кода.

Теперь давай немного усложним программу, и я покажу тебе разницу между F7 и F8.

IDEA: debug,точки останова - 8

Если ты нажимаешь F8, то выполняешь текущую строку за 1 шаг.

Если нажимаешь F7 и в текущей строке вызов метода, ты «заходишь» туда и выполняешь его пошагово.

- Т.е. разница в том – заходим мы в метод или нет.

- Ага.

- А я могу комбинировать F7 и F8? Т.е. какие-то методы пропускаю, которые мне не интересны, а в какие-то захожу?

- Да.

Комментарии (56)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Denis Odesskiy Уровень 47
3 апреля 2025
Как можно работать с кодом на этом уровне не зная азов, даже не азов а просто как запускать дебаг !??😱
Anemon Уровень 13 Expert
25 апреля 2025
Я лично не знал чем отличаются ф7 и ф8, несмотря на всю учебу. Как-то ускользнуло это от меня..
Alexander Karpeev Уровень 51
21 января 2024
Syntax Pro, 5 уровень. Ловим флешбеки после всего курса?))
Ra Уровень 16 Student
29 июля 2023
Прекрасный JavaRush будущего. Эта лекция должна быть уже после println(); и x = 2 + 2;
Kurama Уровень 50
22 апреля 2023
Мы уже давно это прошли
Алексей Уровень 40
29 сентября 2022
В маленькой статье две большие ошибки: 1. Чтобы продолжить исполнение программы до следующей точки остановки, надо нажать F9. 2. Порядок выполнения программы во втором примере с кнопкой F7 неверный. Второй строкой, прочитанной дебагером, будет int sum = 0 из метода int sum(int n)
Рогов Игорь Уровень 17
1 июня 2022
где то это в начале курса было....
Kes Уровень 41
6 февраля 2022
А пожалуй, закину это комментом себе в прошлое...
Сурен Уровень 51
2 февраля 2022
круто!) я научился)!🤣
Edil Kalmamatov Уровень 35
16 сентября 2021
Проходил это на Java Syntax.
Maks Panteleev Уровень 41
31 июля 2021
ураа, глядишь на 41 уровне меня запускать идею :)
LuneFox Уровень 41 Expert
17 марта 2022
тебя что?)
Maks Panteleev Уровень 41
17 марта 2022
научат)
Рогов Игорь Уровень 17
1 июня 2022
зачем тебе,пиши также в блокноте )))