Учебник РНР
Назад Приложение 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
warningE_WARNING
errorE_ERROR
parse E_PARSE
noticeE_NOTICE
core-errorE_CORE_ERROR
core-warningE_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