Manual do PHP
Anterior | Apêndice E. O debugador do PHP | Próxima

# Protocolo do Debugger

O protocolo do debugador do PHP 3 é baseado em linhas. Cada linha tem um tipo, e várias linhas compõem uma mensagem. Cada mensagem começa com uma linha do tipo start e termina com uma linha do tipo end. O PHP 3 pode enviar linhas de 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 o erro do script foi gerado.

pid

  ID do processo na máquina do processo com o PHP 3 que gerou este erro de script.

type

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

  Tabela E-1. Tipos de Linhas de Debug

  Nome | Significado
  --- | ---
  start | Informa ao programa que a mensagem começa aqui. O conteúdo de data será o tipo de erro da mensagem, como listado abaixo.
  message | A mensagem de erro do PHP 3.
  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.
  frames | Nú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 ocorreu. Será repetida para cada vez que a função for chamada dentro da pilha.
  end | Informa ao programa que a mensagem de debug termina aqui.

dados

  Linha de dados.

Tabela E-2. Tipos de erros de debug

Debugador | Interno do PHP 3
--- | ---
warning (alerta, atenção) | E_WARNING
error (erro) | E_ERROR
parse (interpretação) | E_PARSE
notice (notificação) | E_NOTICE
core-error (erro grave) | E_CORE_ERROR
core-warning (aviso grave) | E_CORE_WARNING
unknown (desconhecido) | (qualquer outro)

Exemplo E-1. Exemplo de uma 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

Anterior | Principal | Próxima
Utilizando o debugador | Acima | Extending PHP 3