Рубрики
Без рубрики

Мой опыт работы с Java-отладчиком – Советы для начинающих

Недавно, работая над Java-проектом с IEETA Bioinformatics – UA, мне нужно было сделать кое-что серьезное… Помечено как java, отладка, новички.

Недавно, работая над Java-проектом с IEETA Биоинформатика – UA , мне нужно было провести серьезную отладку кода. Поскольку я был новичком в проекте и не обладал глубокими знаниями кодовой базы проекта, я решил использовать отладчик Java для проверки поведения кода и лучшего понимания процесса, в котором произошла конкретная ошибка. Это тоже было непросто, потому что я никогда не пользовался отладчиком.

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

ПРИМЕЧАНИЕ: В этой статье используются наглядные примеры из IntelliJ IDEA , но те же концепции можно найти и применить в большинстве альтернативных JAVA IDE.

Точки останова

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

Каждый отладчик предлагает несколько типов точек останова, таких как:

  • Точки останова строки: Остановите программу при достижении строки кода, в которой была установлена точка останова.
  • Точки останова метода: Остановите программу при входе (или выходе) из указанного метода. Это позволяет вам проверять условия входа или выхода определенного метода.
  • Условные точки останова: Остановка программы при выполнении определенного критерия (условия)
  • Точки останова исключения: Остановите программу, когда Бросаемый или его подклассы отбрасываются.
  • Контрольные точки: Остановите программу, когда указанное поле будет прочитано или записано.

Вот пример точки останова условия в IntelliJ IDEA, установленной в строке номер 73.

В дополнение к установке точек останова, вы также можете удалить , отключить , включить и отключить они. Отключение точки останова чрезвычайно полезно, когда вам не нужно останавливаться на какой-то определенной точке останова на некоторое время. Еще одной полезной возможностью является включение/отключение точек останова, что полезно, потому что при удалении точки останова ее внутренняя конфигурация теряется, поэтому включение/отключение точек останова – это менее сложная операция, которая позволяет временно отключить отдельную точку останова без потери ее параметров.

Пошаговые Действия

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

  • Перешагнуть: Перешагивает текущую строку и переходит к следующей строке, даже если в текущей строке есть вызовы методов (реализация методов пропущена).
  • Шаг в: Шаги в метод, чтобы проверить, что происходит внутри него.
  • Принудительный Шаг В: Шаги в методе, даже если этот метод пропущен обычным шагом В.
  • Выход: Выходит из текущего метода и переходит к вызывающему методу.
  • Отбросить кадр: Позволяет отменить последний кадр и восстановить предыдущий кадр в стеке. Это может быть полезно, если вы по ошибке зашли слишком далеко или хотите повторно ввести функцию, в которой вы пропустили критическое место.
  • Фильтр шагов: Позволяет пропускать определенные пакеты во время отладки. Вам не нужно перемещаться по всем классам системы JDK, когда вы можете просто отфильтровать типы, которые вам не нужны.

Панель переменных

Хотя встроенный отладчик чрезвычайно полезен, панель переменных показывает гораздо больше деталей. С его помощью вы можете видеть точное состояние и значение каждой переменной в выбранном стеке и даже можете изменить значение этих переменных, если вам нужно лучше понять, какое влияние оказывает конкретное изменение вашей переменной на выполнение вашего кода.

Если вам нужен более практический подход к этой теме, вот это замечательное видео от JetBrains , в котором вы познакомитесь с концепциями, которые я описал, и их реализацией/применением в пользовательском интерфейсе IntelliJ.

заворачивать

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

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

И даже при наличии правильных инструментов, когда кажется, что ситуация выходит из-под контроля, всегда стоит сделать перерыв. Ошибка – это не более чем программная головоломка, и иногда вам просто нужно отдохнуть от кода, чтобы решить ошибку.

Оригинал: “https://dev.to/vascoalramos/my-experience-with-java-debugger-beginner-tips-3pj4”