Protocolo do Debugger

O protocolo é baseado em linhas. Cada linha tem um tipo, e várias linhas compondo a mensagem. Cada mensagem começa com uma linha de tipo start e termina com uma linha de tipo end. O PHP pode emviar linhas para diferentes mensagens simultaneamente.

Uma linha tem este formato:


date time
host(pid)
type:
message-data
     

date

Data no formato ISO 8601 (yyyy-mm-dd)

time

Hora, incluindo microsegundos: hh:mm:uuuuuu

host

"Nome DNS ou IP da maquina onde está o script".

pid

ID do processo na máquina do processo que gerou este erro de script.

type

Tipo da linha. Informa o programa sobre como ele deve tratar os seguintes dados:

Tabela D-1. Tipos de Linhas de Debug

NomeSignificado
start Informa ao programa que a mensagem começa aqui. O conteúdo de data será o tipo de erro da mensagem, listado abaixo.
messageA mensagem de erro do PHP.
location Arquivo e número da linha onde ocorreu o erro. A primeira linha location sempre conterá o nível superior. data conterá: arquivo:linha. Sempre existirá uma linha location após uma message e após cada function.
framesNúmero de janelas (frames) na saida atual. Se houver quatro níveis, será esperado informação sobre quatro níveis de funções chamadas. Se não for dada nenhuma linha de janela (frame) assume que o valor é 0 (o erro aconteceu no início).
function Nome da função onde o erro apareceu. Será repetida para cada vez que a função for chamada.
end Informa ao programa que a mensagem de debug termina aqui.

dados

Linha de dados.

Tabela D-2. Tipos de erros de debugação

DebugadorInterno do PHP
atençãoE_WARNING
erroE_ERROR
interpretaçãoE_PARSE
notificaçãoE_NOTICE
grave erroE_CORE_ERROR
grave atençãoE_CORE_WARNING
desconhecido(qualquer outro)

Exemplo D-1. Exemplo de Mensagem de Debug


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