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
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
| Nombre | Significado |
|---|
| start | Informa al
programa que recibe que un mensaje del debugger comienza
aqui. El contenido de data será
el tipo del mensaje de error, listados debajo.
|
| message | El 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.
|
| frames | Nú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).
|
| function | Nombre de la
función donde ocurrió el error. Será repetida una vez por
cada nivel en la pila de funciones. |
| end | Informa al
programa que recibe que el mensaje del debugger termina
aqui. |
- data
Línea de datos.
Tabla D-2. Tipos de error del debugger
| Debugger | PHP Internal |
|---|
| 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) |
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
|