Учебник РНР
Назад Приложение D. Отладка PHP Вперёд

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

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

Вот формат строки:

date time
host ( pid )
type :
message-data

date

Дата в формате ISO 8601 ( yyyy - mm - dd )

time

Время, включая миллисекунды: hh : mm : uuuuuu

host

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

pid

PID (process id) на host процесса скрипта PHP 3, сгенерировавшего данную ошибку.

type

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

Таблица D-1. Типы Строк Отладчика
Имя Значение
start Сообщает принимающей программе, что здесь начинается сообщение отладчика. Содержимое data будет типом сообщения об ошибке (перечислены ниже).
message Сообщение об ошибке PHP 3.
location Имя файла и номер строки, где возникла ошибка. Первая строка location всегда содержит location верхнего уровня. data будет содержать file: line . Всегда будут строка location после message и после каждой function.
frames Количество фрэймов в следующем дампе/dump стэка. Если имеются 4 фрэйма, ожидается информация о 4 уровнях вызываемых функций. Если строка "frames" отсутствует, должна приниматься глубина 0 (ошибка возникла на верхнем уровне).
function Имя функции, в которой возникла ошибка. Однократно повторяется для каждого уровня стэка вызова функций.
end Сообщает принимающей программе, что здесь заканчивается сообщение отладчика.
data

Данные строчки.

Таблица D-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 (любое другое)
Пример D-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 


Назад Оглавление Вперёд
Использование Отладчика Вверх Расширение PHP