JavaRush /Java блог /Архив info.javarush /Руководство пользователя IntelliJ IDEA. Отладчик
theGrass
24 уровень
Саратов

Руководство пользователя IntelliJ IDEA. Отладчик

Статья из группы Архив info.javarush
Руководство пользователя IntelliJ IDEA. Отладчик - 1

Отладчик

  1. Запуск отладчика

    После того как вы настроите конфигурацию запуска вашего проекта, вы можете запускать его в режиме отладки, нажав Shift + F9

    Руководство пользователя IntelliJ IDEA. Отладчик - 2

    В окне отладчика вы можете видеть стек вызовов функций и список потоков, с их состояниями, переменными и окнами просмотра состояния. Когда вы выбираете контекст вызова функции, вы можете просмотреть значения переменных соответствующих выбранному контексту.

  2. Полезные клавиатурные сокращения отладчика

    • Установить/снять точку останова - Ctrl + F8 (Cmd + F8 для Mac)
    • Возобновить выполнение программы - F9
    • Перейти к следующей инструкции - F8
    • Перейти внутрь функции - F7
    • Приостановить выполнение - Ctrl + F2 (Cmd + F2)
    • Переключить между просмотром списка точек останова и подробной информацией о выбранной точке - Shift + Ctrl + F8 (Shift + Ctrl + F8)
    • Запустить отладку кода с точки на которой стоит курсор - Shift + Ctrl + F9 (если это внутри метода main())
  3. Умный переход внутрь

    Иногда вам надо при пошаговой отладке перейти внутрь определенного метода, но не первого который будет вызван. В таком случае вы можете нажать Shift + F7 (Cmd + F7 для Mac) чтобы выбрать из предложенного списка метод который вам нужен. Это может сэкономить вам массу времени.

    Руководство пользователя IntelliJ IDEA. Отладчик - 3
  4. Удалить контекст вызова функции

    Если вам нужно «вернуться назад во времени» во время отладки, вы можете сделать это удалив контекст вызова функции. Это сильно поможет если вы по ошибке зашли слишком глубоко. Таким образом вы не откатите глобальное состояние выполнения программы, но как минимум вы вернетесь назад по стеку вызовов функций.

    Руководство пользователя IntelliJ IDEA. Отладчик - 4
  5. Переход к курсору

    Иногда вам надо возобновить выполнение программы и остановиться на какой-то другой строчке кода, не создавая точку останова. Это легко - просто нажмите Alt + F9.

    Руководство пользователя IntelliJ IDEA. Отладчик - 5
  6. Пометить элемент

    Если вы хотите легко видеть какой-то элемент во время отладки, вы можете добавить к нему цветную метку, нажав F11 или выбрав соответствующий пункт в меню вкладки Variables и Watches.

    Руководство пользователя IntelliJ IDEA. Отладчик - 6

    Когда этот элемент появится в списке, вы увидете его метку.

    Руководство пользователя IntelliJ IDEA. Отладчик - 7
  7. Вычислить выражение

    В режиме отладки вы можете вычислить любое выражение, с помощью очень мощного инструмента вызываемого нажатием Alt + F8.

    Руководство пользователя IntelliJ IDEA. Отладчик - 8

    Этот инструмент предоставляет автодополнение кода как и редактор, так что ввести любое выражение будет очень просто.

    Руководство пользователя IntelliJ IDEA. Отладчик - 9

    Если у вас есть какие-то элементы с метками, автодополнение кода покажет вам эти метки чтобы вы могли легко найти нужные элементы и вычислить их значения.

    Руководство пользователя IntelliJ IDEA. Отладчик - 10
  8. Состояние и настройки точки останова

    Если вы хотите поменять какие-то настройки точки останова, вы можете нажать Shift + Ctrl + F8 (Shift + Cmd + F8 для Mac).Во всплывающем окне вы можете ввести нужные вам параметры.

    Руководство пользователя IntelliJ IDEA. Отладчик - 11

    Если у вас какой-то элемент имеет метку, вы также можете использовать эту метку в выражениях.

    Руководство пользователя IntelliJ IDEA. Отладчик - 12

    Чтобы получить список всех точек останова в вашем проекте (с расширенными настройками), снова нажмите Shift + Ctrl + F8 (Shift + Cmd + F8 для Mac).

  9. Точки останова переменной

    В дополнение к условным точкам останова, вы можете также использовать точки останова переменной. Такие точки срабатывают, когда производится чтение или запись в какую-то переменную. Для того чтобы создать такую точку останова, кликните на панель слева от редактируемого текста, напротив нужной вам переменной, зажав Alt.

    Руководство пользователя IntelliJ IDEA. Отладчик - 13
  10. Точки останова по событиям

    Еще одна полезная возможность - вычислить определенное выражение в нужной вам строке кода не прерывая выполнение. Для этого вам нужно кликнуть на панель слева от редактируемого кода напротив нужной строки, зажав Shift.

    Руководство пользователя IntelliJ IDEA. Отладчик - 14
  11. Временные точки останова

    Для того чтобы создать точку останова которая сработает только один раз, кликните на панель слева от кода зажав Shift + Alt.

    Руководство пользователя IntelliJ IDEA. Отладчик - 15
  12. Отключить точки останова

    Также очень полезно знать, что любая точка останова может быть быстро отключена по нажатию на панель слева от кода с зажатым Alt.

    Руководство пользователя IntelliJ IDEA. Отладчик - 16
  13. Загрузка изменений и быстрая замена

    Иногда вам нужно внести небольшие изменения в код без прерывания процесса отладки. Так как виртуальная машина Java поддерживает возможность HotSwap, среда разработки в режиме отладки предлагает вам перезагрузить измененные классы когда вы их скомпилируете.

    Руководство пользователя IntelliJ IDEA. Отладчик - 17

    Не забывайте, что функционал HotSwap в Java машине имеет ряд ограничений и не позволяет перезагружать статические поля и методы.

  14. Удаленная отладка

    Последняя вещь в IntelliJ IDEA о которой вам точно нужно знать это удаленная отладка. Удаленная отладка - подключение отладчика к уже запущенной у вас или на другом компьютере Java машине по сетевому порту. Таким образом можно подключить отладчик к серверу приложений, запущенному на сервере.

    Чтобы создать конфигурацию для удаленного запуска, перейдите к редактированию конфигураций (Edit configurations) и нажмите «добавить конфигурацию удаленного запуска» (Remote). Убедитесь что вы указали правильное имя компьютера и порт прежде чем запустить эту конфигурацию.

    Руководство пользователя IntelliJ IDEA. Отладчик - 18
  15. Настройки

    Если вы хотите поменять настройки отладчика по умолчанию, нажмите Settings → Debugger.

    Руководство пользователя IntelliJ IDEA. Отладчик - 19
Оригинал статьи
Комментарии (35)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Demetria Уровень 22
13 февраля 2022
Спасибо за статью! Очень полезная! 👍 Отладчик - лучший друг программиста!)))
Карим Уровень 38
25 июля 2020
до 25 лвл не пользовался дебаггером, из за того что он не работал, пользовался sout в некоторых местах чтобы узнать работают ли условия, кстати после захода если нажимать shift + f7 то далеко можно зайти в внутренне устройство каждого метода и класса
Евгений Уровень 9
29 мая 2020
При нажатии Shif+F9 выводится в консоли красным ошибка "Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended". ИДЕА не переходит в режим отладки, а программа просто выполняется в обычном режиме. Как можно исправить?
Ден Южек Уровень 18
28 апреля 2020
Добрый день. Подскажите может кто-нибудь знает как работать с горячими клавишами при Русской раскладке. Например если включен Русский язык CTRL + C, CTRL + V не работают.
Kazantip Уровень 32
12 февраля 2020
Добрый день ! Столкнулся с такой проблемой - дебагер перестал правильно цепляться к исполняемому коду При этом сама программа нормально отрабатывает. В чем может быть дело ?
Анастасия Уровень 20
24 января 2020
Вот здесь с 40 минуты про режим отладки очень доходчиво для совсем новичков: https://www.youtube.com/watch?v=mcvnjaLqVWQ
23 ноября 2019
Ура, вот и до дебагера добрались! Те кто юзал STS на ZX-Spectrum, меня поймут )
Александр Уровень 23
16 июня 2019
Как вернуться на шаг назад в Debug? именно на шаг назад, а не выйти из метода. Нигде не нашёл такую информацию
Дмитрий Уровень 2 Expert
7 марта 2019
полезно, но все эти вызовы запомнить невозможно
Andrey Kovalko Уровень 20
13 февраля 2019
Хочу обратить внимание!!!!!!!!!!!!!! Ставьте breakpoint на строке public static void main!!!!!!!!!!!!!!!!!!!! Затем после запуска команды debug пользуйтесь F7 - таким образом вы пошагово пройдете всю программу с заходом в методы. К сожалению, потратил много времени чтобы это узнать.