Протокол отладчика PHP 3 является построчным. Каждая строка состоит из типа и нескольких строк, составляющих сообщение. Каждое сообщение начинается строкой, имеющей тип start и завершается строкой, имеющей тип end. PHP 3 имеет возможность одновременной посылки строк, предназначенных для разных сообщений.
Каждая строка имеет следующий формат:
дата время хост(pid) тип: данные сообщения
Тип строки. Сообщает принимающей программе, как та должна интерпретировать последующие данные:
Имя | Значение |
---|---|
start | Сообщает принимающей программе о начале отладочного сообщения. Содержащиеся в данных сведения являютя одним из типов ошибки, перечисленных ниже. |
message | Сообщение PHP 3 об ошибке. |
location | Имя файла и номер строки, где возникла ошибка. Первая строка location всегда содержит указание на верхний уровень. данные будут содержать строку вида файл:строка. После каждой строки message и после каждой строки function всегда будет следовать строка location. |
frames | Количество кадров в последующем дампе стека. Если, например, передаются сведения о четырех кадрах, следует ожидать, что последует информация о четырех уровнях вложенности вызова функций. Если строка "frames" отсутствует, глубина вложенности принимается за нулевую. |
function | Имя функции, в которой произошла ошибка. Для каждого уровня вложенности в стеке вызовов функций это имя будет повторяться только однажды. |
end | Сообщает об окончании отладочного сообщения. |
Отладчик | Внутреннее представление в 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) |
Пример #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