JDB - Введение
Отладка - это техническая процедура для поиска и удаления ошибок или дефектов в программе и получения ожидаемых результатов. Отладка включает тестирование и мониторинг. Это очень сложно, когда части программы тесно связаны. Мы можем отлаживать программу с помощью инструментов отладчика, которые соответствуют предписанным API. Отладчик позволяет вам пройти через каждый аспект кода, проверить все элементы и удалить ошибки, если таковые имеются.
Методы отладки
Существуют разные методы отладки Java-программы. Старый метод отладки заключается в использовании операторов печати в конце каждого сегмента, который выводит операторы трассировки на консоль. Взгляните на следующий код.
pubic class Add
{
   public static void main(String ar[])
   {
      int a = ar[0];
      system.out.println("A : " + a);
      
      int b = ar[1];
      system.out.println("B : " + b);
      
      int c = a + b;
      system.out.println("C = a + b : " + c);
   }
} 
    Здесь у нас есть программа, которая складывает два числа и выводит результат. Обратите внимание, что на каждом шаге мы ввели оператор печати, который выводит состояние программы на консоль. Это традиционный подход к отладке программы.
Кроме того, у нас есть расширенные концепции, которые можно использовать для отладки программы, например:
- stepping
 - точки останова и
 - исключения или точки наблюдения.
 
Типы отладки
Мы можем отлаживать программу разными способами:
- Использование байт-кода Java (скомпилированная версия кода Java)
 - Использование комментариев внутри программ
 - Присоединение класса к запущенной программе
 - Удаленная отладка
 - Отладка по запросу
 - Оптимизированная отладка кода
 
Отладчики Java
Вот несколько примеров отладчиков Java, доступных на рынке:
- IDE, такие как Eclipse, Netbeans и т. Д., Содержат собственные отладчики (Visual cafe, Borland, JBuilder)
 - Графические интерфейсы автономного отладчика (например, Jikes, отладчик платформы Java и JProbe)
 - Отладчик командной строки (Sun JDB)
 - Блокнот или виртуальный прибор (трассировка стека)
 
В этом руководстве рассказывается, как использовать отладчик командной строки, jdb.
JDB
Отладчик Java (JDB) - это инструмент для классов Java для отладки программы в командной строке. Он реализует архитектуру отладчика платформы Java. Это помогает в обнаружении и исправлении ошибок в программе Java с использованием интерфейса Java Debug Interface (JDI).
JDB в JDK
Следующая архитектура определяет роль JDB в JDK. Он состоит в основном из трех блоков:
- Интерфейс Java Virtual Machine Tool (JVM TI)
 - Пул подключения отладки Java (JDWP)
 - Интерфейс отладчика Java (JDI)
 
                JVM TI
Это собственный программный интерфейс, реализованный виртуальной машиной. Он предоставляет способы проверки и отладки состояния приложения, запущенного на виртуальной машине. Это позволяет реализовать средство реализации (средство реализации виртуальных машин), которое можно легко включить в архитектуру отладки. Он также использует сторонний канал под названиемJDWP для связи.
JDWP
Он определяет формат информации и запросы, которые проходят между процессом отладки и интерфейсом отладчика. Основная цель наличия JDWP - позволить отладчику и отладчику взаимодействовать, когда они работают на отдельных виртуальных машинах или на разных платформах.
JDI
Это высокоуровневый интерфейс Java, реализованный как внешний интерфейс. Он определяет информацию о переменных на уровне кода пользователя. Рекомендуется использовать уровень JDI для всей разработки отладчика. Он использует JDWP для связи с отлаживаемой JVM.