Запуск интерпретатора и режим отладки
Мы познакомили читателя лишь с основными командами отладчика, наиболее важными и полезными, с нашей точки зрения, для процесса поиска ошибок. Их полный набор с краткими описаниями представлен в табл. 14.2. Более подробную информацию можно всегда найти в документации, с которой распространяется Perl, или из различных ресурсов Internet.
Таблица 14.2. Основные команды отладчика.
| Команда | Описание |
|---|---|
| m | Отображается содержимое стека вызванных подпрограмм |
| s | Пошаговое выполнение программы (с заходом в подпрограммы) |
| n | Пошаговое выполнение программы (без захода в подпрограммы) |
| Enter | Повтор последней команды s или n |
| r | Завершение текущей подпрограммы и возврат из нее |
| с [строка] с [подпрогр] | Непрерывное выполнение кода программы до первой точки останова или указанной строки, или подпрограммы |
| 1 строка+число | Отображает число плюс одну строку кода, начиная с заданной строки – |
| 1 строка1-строка2 | Отображает диапазон строк: от строки с номером строка! до строки с номером строка2 |
| 1 строка | Отображает заданную строку |
| 1 подпрогр | Отображает первый блок строк кода подпрограммы |
| 1 | Отображает следующий блок из 10 строк |
| - | Отображает предыдущий блок из 10 строк |
| w [строка] | Отображает блок строк вокруг заданной строки |
| Возврат к выполненной строке | |
| f файл | Переключение на просмотр файла. Файл должен быть загружен |
| /образец/ | / Поиск строки по образцу; направление вперед от текущей строки. Завершающая косая черта не обязательна |
| ?образец? | Поиск строки по образцу; направление назад от текущей строки. Завершающий символ "?" не обязателен |
| L | Отображение всех установленных точек останова |
| S [ [! ] образец] | Отображение имен подпрограмм, [не] соответствующих образцу |
| t | Включение/выключение режима трассировки |
| b [строка] [условие] | Установка точки останова в заданной строке и условия ее действия |
| b подпрогр [условие] | Установка точки останова в первой строке подпрограммы и условия ее действия |
| b load файл | Установка точки останова на операторе require файл |
| b postpone подпрогр [условие] | Установка точки останова в первой строке подпрограммы после ее компилирования |
| b compile подпрогр | Остановка после компилирования подпрограммы |
В этой, можно сказать, завершающей главе мы познакомились с возможностями интерпретатора peri для решения некоторых задач системного администрирования в UNIX. Установка некоторых опций интерпретатора при его запуске из командной строки меняет режим работы, позволяя практически без написания кода изменять, проверять, копировать и отображать содержимое файлов.
Для удобства и ускорения отладки больших программ в интерпретаторе per! предусмотрен встроенный отладчик. Его команды позволяют приостанавливать выполнение сценария Perl в подозрительных точках, задавать определенные действия при выполнении кода программы, просматривать стек вызова подпрограмм, менять в цикле значения переменных программы и многие другие полезные при поиске ошибок действия. Использование отладчика ускоряет процесс разработки программ Perl.
Вопросы для самоконтроля
- Какую функцию выполняют опции интерпретатора peri?
- Какие существуют способы задания опций интерпретатора?
- Перечислите наиболее полезные опции для выполнения задач, связанных с системным администрированием в UNIX.
- Зачем нужен отладчик и как его инициировать?
- Перечислите основные действия, которые позволяет выполнять отладчик в процессе отладки программы Perl.
