###############################################################

Протокол отладчика

Протокол отладчика PHP 3 является построчным. Каждая строка состоит из типа и нескольких строк, составляющих сообщение. Каждое сообщение начинается строкой, имеющей тип start и завершается строкой, имеющей тип end. PHP 3 имеет возможность одновременной посылки строк, предназначенных для разных сообщений.

Каждая строка имеет следующий формат:


дата время
хост(pid)
тип:
данные сообщения

дата

Дата в формате ISO 8601 (гггг-мм-чч)

время

Время с указанием микросекунд: чч:мм:мсмсмс

хост

Имя DNS или IP адрес хоста, на котором возникла ошибка при выполнении скрипта.

pid

PID (идентификатор процесса) на хосте, в процессе работы которого возникла ошибка в скрипте PHP 3.

тип

Тип строки. Сообщает принимающей программе, как та должна интерпретировать последующие данные:

Таблица E-1. Типы строк отладчика

Имя Значение
start Сообщает принимающей программе о начале отладочного сообщения. Содержащиеся в данных сведения являютя одним из типов ошибки, перечисленных ниже.
message Сообщение PHP 3 об ошибке.
location Имя файла и номер строки, где возникла ошибка. Первая строка location всегда содержит указание на верхний уровень. данные будут содержать строку вида файл:строка. После каждой строки message и после каждой строки function всегда будет следовать строка location.
frames Количество кадров в последующем дампе стека. Если, например, передаются сведения о четырех кадрах, следует ожидать, что последует информация о четырех уровнях вложенности вызова функций. Если строка "frames" отсутствует, глубина вложенности принимается за нулевую.
function Имя функции, в которой произошла ошибка. Для каждого уровня вложенности в стеке вызовов функций это имя будет повторяться только однажды.
end Сообщает об окончании отладочного сообщения.
data

Данные в строке.

Таблица E-2. Типы ошибок отладчика

Отладчик Внутреннее представление в PHP 3
warning E_WARNING
error E_ERROR
parse E_PARSE
notice E_NOTICE
core-error E_CORE_ERROR
core-warning E_CORE_WARNING
unknown (any other)

Пример E-1. Пример отладочного сообщения


1998-04-05 23:27:400966 lucifer.guardian.no(20481) start: notice
1998-04-05 23:27:400966 lucifer.guardian.no(20481) message: Uninitialized variable
1998-04-05 23:27:400966 lucifer.guardian.no(20481) location: (NULL):7
1998-04-05 23:27:400966 lucifer.guardian.no(20481) frames: 1
1998-04-05 23:27:400966 lucifer.guardian.no(20481) function: display
1998-04-05 23:27:400966 lucifer.guardian.no(20481) location: /home/ssb/public_html/test.php3:10
1998-04-05 23:27:400966 lucifer.guardian.no(20481) end: notice