cp debugger_ui.php debugger_ui.inc debug.inc pjpe.inc demo.php /usr/local/apache/ htdocs/php4
Скопируйте указанные выше файлы в каталог, где находятся сценарии, которые требуется отлаживать. Попробуем отладить предыдущую реализацию стека с помощью BODY. Реализация стека та же, что и раньше, за исключением того, что мы умышленно введем ошибку в функции pop в Stackl. php и назовем файл Stack2.php. Версия с ошибкой показана ниже:
function pop() {
if ($this->isEmpty()){ echo("Stack empty<br>"); return -1;
} else {
return $this->vectorI--$this->stackPointer]; } . '
}
Этот сценарий выводит следующий результат (рис. 6.4):
Как видно, при помещении на стек 1 и 2 и последующем выталкивании этих значений мы не получаем 2 и как это должно быть. Мы будем отлаживать MyStackl. php и Stackl .php, чтобы найти ошибку. Необходимо добавить в начало сценария MyStackl. php следующие строки:
include("debug.inc"); debug_program("myStack"); :
Теперь надо открыть два окна броузера и в первом ввести URL для MyStack l. php; это окно будет ждать выдачи с сервера. Во втором окне введите URL для сценария debugger_ui. php. Чтобы соединиться со сценарием, надо ввести в поле команды MyStackl и нажать кнопку Command, после чего в том же поле ввести watch $PHP_SELF и снова нажать кнопку Command. В отладчике должен быть виден исходный код.
Теперь в поле командной строки отладчика можно вводить команды для отладки программы. Ниже, в табл. 6.2, приведены некоторые команды BODY.
Видно, что с помощью BODY можно «засечь» ошибочную функцию pop и исправить ее, как показано ниже:
function pop() {
if ($this->isEmpty()){
echo("Stack empty<br>"); return -1; } else {
$ret » $this->vector[$this->stackPointer];
--$this->stackPointer;
return $ret;
}
}
Zend IDE
Интегрированная среда Zend IDE - коммерческий продукт, предлагаемый на http://www.zend.eom/.B"> http://www.zend.eom/.B ней есть встроенный отладчик, который можно сравнить со средствами отладки, имеющимися для других признанных языков. Для работы отладчика из IDE нужен сервер отладки. Это коммерческий продукт, требующий лицензирования (дополнительная информация есть на http://www.zend.com/"> http://www.zend.com/).
Для работы клиента должна быть установлена среда выполнения Java. Zend IDE и сервер отладки распространяются в виде двоичных файлов для Windows и UNIX. С сайта Zend можно загрузить пробную версию. Следуйте инструкциям, поставляемым вместе с двоичными файлами, в которых сказано о получении и использовании лицензии.