CS_SendVar("stackPointer", $this->stackPointer); CS_ExitMethod("pop"); return $ ret;
J
)
function peek()
{
CS_Ente rMethod("peek"); if ($this->isEmpty()) {
CS_SendError( "Stackempty<br>"); CS_ExitMethod("peek");
return } else {
CS_ExitMethod("peek");
return
}
}
function reset() {
CS_EnterMethod("reset"); $this->stackPointer = 0; $this->vector[$this->stackPointer] = -1; CS_DisplayInputData(); CS_ExitMethod( "reset");
Мы добавили в код библиотечные функции отладки. Имеющиеся в phpCode- Site функции перечислены ниже (табл. 6.1):
Не забудьте изменить значение аргумента функции CS„SetEnabled() в начале файла Stackl. php на TRUE, чтобы включить трассировку. Точно так же, не удаляя никакого кода, можно отключить трассировку, изменив аргумент на FALSE.
Включите stackl. php в MyStack.php вместо Stack, php и переименуйте файл в MyStackl. php. При запуске MyStackl. php результаты трассировки должны выглядеть так (рис. 6.3):
Удаленные отладчики
Отладчики - это программы, обеспечивающие трассировку выполнения программ. Большинство из них поддерживают пошаговое выполнение операторов, а также устанавливают контрольные точки и проверяют выполнение условий. Удаленный отладчик РНР соединяется с удаленным экземпляром сервера, выполняющего сценарий, позволяя осуществлять его отладку. В данном разделе мы рассмотрим некоторые такие инструменты, имеющиеся на сегодняшний день для РНР.
BODY
Отладчик Bike Odyssey Debugger Y (BODY) располагает интерфейсом HTML для отладки, который можно использовать как стандартный броузер для работы с отладчиком. Загрузить его можно с http://members.ozemail.com.au/"> http://members.ozemail.com.au/ -djfOl /body.htmlsRe есть полный исходный код. Условия лицензирования необычны и не подразумевают полной бесплатности, по крайней мере, в настоящее время. Исходный код РНР надо перекомпилировать, чтобы создать двоичный файл, добавляющий поддержку этого отладчика. На машине под Linux это требует лишь следующих простых шагов:
сс /home/chad
tar xzvf body-1. XX. X. tar.gz cd body-1. Ж. X
cp -r ext /home/chad/php-4.0.5/ext Замените каталог тем, который содержит ваш дистрибутив РНР:
cd
./configure --enable-statement --прочие_расширения_РНР
He забудьте добавить в верхнюю строку другие расширения РНР, обычно требуемые в вашей установке:
make && make install cd /home/chad/body-1. XX. X