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

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

Открыта

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

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

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

Сегодня я расскажу тебе про работу в 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 Full Stack Developer
3 апреля 2025, 21:42
Как можно работать с кодом на этом уровне не зная азов, даже не азов а просто как запускать дебаг !??😱
Anemon
Уровень 13
Expert
25 апреля 2025, 19:36
Я лично не знал чем отличаются ф7 и ф8, несмотря на всю учебу. Как-то ускользнуло это от меня..
Alexander KarpeevCEO в Apple
21 января 2024, 23:41
Syntax Pro, 5 уровень. Ловим флешбеки после всего курса?))
Ra
Уровень 51
Student
29 июля 2023, 12:08
Прекрасный JavaRush будущего. Эта лекция должна быть уже после println(); и x = 2 + 2;
Kurama
Уровень 50
22 апреля 2023, 20:13
Мы уже давно это прошли
Алексей
Уровень 40
29 сентября 2022, 11:59
В маленькой статье две большие ошибки: 1. Чтобы продолжить исполнение программы до следующей точки остановки, надо нажать F9. 2. Порядок выполнения программы во втором примере с кнопкой F7 неверный. Второй строкой, прочитанной дебагером, будет int sum = 0 из метода int sum(int n)
Рогов Игорь
Уровень 17
1 июня 2022, 12:52
где то это в начале курса было....
KesЧайник в Банк
6 февраля 2022, 04:41
А пожалуй, закину это комментом себе в прошлое...
Сурен
Уровень 51
2 февраля 2022, 18:15
круто!) я научился)!🤣
Edil Kalmamatov
Уровень 35
16 сентября 2021, 08:55
Проходил это на Java Syntax.
Maks PanteleevJava Developer в Bell Integrator
31 июля 2021, 11:39
ураа, глядишь на 41 уровне меня запускать идею :)
LuneFoxJava Developer в BIFITExpert
17 марта 2022, 15:53
тебя что?)
Maks PanteleevJava Developer в Bell Integrator
17 марта 2022, 17:11
научат)
Рогов Игорь
Уровень 17
1 июня 2022, 12:52
зачем тебе,пиши также в блокноте )))