В этой главе объясняется понятие точек останова и как установить точки останова в программе. Точка останова вводит явную остановку или паузу в выполнении программы на определенной строке кода во время отладки. Полезно получать знания о переменных в программе при ее исполнении.
Синтаксис
Следующая команда устанавливает точку останова для определенного номера строки:
> stop at <class name>:<Line no>
Следующая команда устанавливает точку останова для определенного метода или определенной переменной:
> stop in <class name>:< Method name | Variable name>
пример
В следующем примере показано, как установить точку останова в классе.
public class Add { public int addition( int x, int y) { int z = x + y; return z; } public static void main( String ar[ ] ) { int a = 5, b = 6; Add ob = new Add(); int c = ob.addition(a,b); System.out.println("Add: " + c); } }
Сохраните вышеуказанный файл как Add.java. Скомпилируйте этот файл, используя следующую команду:
\>javac Add.java
отладка
Давайте возьмем пример для отладки. Здесь мы запускаем процесс отладки, устанавливая точку останова на main (). Ниже приведены шаги, которые необходимо выполнить в процессе отладки:
Шаг 1: Запустите сеанс JDB
Следующая команда запускает сеанс JDB в классе Add для отладки:
\> jdb Add
Шаг 2: Установите точку останова
Следующая команда устанавливает точку останова для метода main () класса Add.
> stop in Add.main
Если точка останова установлена успешно, вы увидите следующий вывод:
Deferring breakpoint Add.main. It will set after the class is loaded. >
Шаг 3: Начните отладку
Следующая команда запускает выполнение класса Add:
> run Add
Если вы запустите эту команду, вы увидите следующий вывод. В этом выводе вы обнаружите, что выполнение останавливается в точке останова, то есть в функции main ().
Выполнение останавливается на первой строке основного метода, то есть на «int a = 5, b = 6;» или строка №: 11 в коде. Вы можете наблюдать эту информацию в выводе.
Шаг 4: Продолжить выполнение
Следующая команда продолжает выполнение программы:
cont
Это дает вам оставшуюся часть выполнения и вывод следующим образом: