Protocolo del debugger

El protocolo del debugger está basado en líneas. Cada línea tiene un tipo, y varias línea componen un mensaje. Cada mensaje comienza con una línea del tipo start y termina con una línea del tipo end. PHP puede enviar líneas para diferentes mensajes simultaneamente.

Una línea tiene este formato:


fecha hora host(pidtipodatos del mensaje

fecha

Fecha en formato ISO 8601 (aaaa-mm-dd)

hora

Hora incluyendo microsegundos: hh:mm:uuuuuu

host

Nombre DNS o dirección IP del host donde el script de error fue generado.

pid

PID (id proceso) en el host del proceso en que el script de PHP generó este error.

tipo

Tipo de la línea. Dice al programa programa que recibe que debe considerar los datos siguientes como:

Tabla D-1. Tipos de línea del debugger

NombreSignificado
startInforma al programa que recibe que un mensaje del debugger comienza aqui. El contenido de data será el tipo del mensaje de error, listados debajo.
messageEl mensaje de error de PHP.
location Nombre del fichero y número de línea donde ocurrió el error. La primera línea con location siempre contendrá la localización de mayor nivel. data contendrá fichero:línea. Siempre habrá una línea de tipo location después de message y después de cada function.
framesNúmero de marcos en la pila. Si hay cuatro marcos, espere información sobre los cuatro niveles de las funciones llamadas. Si no hay una línea de tipo "frames", la profundidad se asume que es 0 (el error ocurrió en el nivel superior).
functionNombre de la función donde ocurrió el error. Será repetida una vez por cada nivel en la pila de funciones.
endInforma al programa que recibe que el mensaje del debugger termina aqui.

data

Línea de datos.

Tabla D-2. Tipos de error del debugger

DebuggerPHP Internal
warningE_WARNING
errorE_ERROR
parseE_PARSE
noticeE_NOTICE
core-errorE_CORE_ERROR
core-warningE_CORE_WARNING
unknown(any other)

Ejemplo D-1. Ejemplo de mensaje del debugger


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