Иллюстрированный самоучитель по Perl



         

Точки останова и действия


В процессе отладки программы возникает необходимость приостановить ее выполнение в определенных подозрительных иестах, посмотреть значения

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

Для этих целей служит команда ь (сокращение от английского глагола break — прервать) отладчика. Ее параметром является номер строки кода, в которой устанавливается точка останова: отладчик приостановит выполнение программы Perl перед заданной строкой. Если команда ь вызывается без параметра, то точка останова определяется в текущей строке.

Можно определить точку останова в первой строке кода подпрограммы. Для этого команде b необходимо передать в качестве параметра имя подпрограммы. Например, следующая команда

DB<11> b mySub

I устанавливает точку останова в первой строке кода подпрограммы mySub.

Иногда необходимо, чтобы выполнение программы приостанавливалось в некоторой точке программы только при выполнении каких-либо условий (например, равенства заданному числу значения какой-нибудь переменной, или совпадения значений двух других переменных и т. п.). Команда ь позволяет задавать подобные условные точки останова. Для этого ей можно передать в качестве второго параметра условие, при истинности которого точка останова будет восприниматься отладчиком как действительная точка останова. Если условие перед выполнением строки кода не будет истинно, то останова программы в этой точке не произойдет. Например, следующая команда

DB<1> b 4 $r==l I

определяет условную точку останова в строке 4. Отладчик приостановит выполнение программы перед этой строкой по команде с только, если значение переменной $г будет равно 1.

Команда L отображает список всех установленных точек останова, как безусловных, так и условных:

DB<1> b 4 $г==1 DB<2> b 6 DB<3> L

Iexample2.pl: . •:.,-. , 4: %ref = ("One",!, "Two",2);




Содержание  Назад  Вперед