Protocole du débogueur

Le protocole de débogage PHP 3 fonctionne ligne par ligne. Chaque ligne a un type type et plusieurs lignes composent un message Chaque message commence avec une ligne du type start et se termine avec une ligne de type end. PHP peut envoyer des lignes de plusieurs messages simultanément.

Voici un exemple de ligne à ce format :

Exemple E-1. exemple de ligne au format de débogage

date time host(pid) type: message-data

date

Les dates sont au format ISO 8601 (yyyy-mm-dd)

time

Les heures, y compris les micro-secondes : hh:mm:uuuuuu

host

Le nom DNS ou adresse IP de l'hôte qui a généré l'erreur.

pid

PID (process id) sur l'hôte host, qui a généré l'erreur.

type

Type de la ligne. Indique au programme client comment traiter les données suivantes :

Tableau E-1. Types des lignes du Débogueur

NomSignification
start Indique au programme client que le message du débogueur commence ici. Le contenu de data sera un type d'erreur, comme listé ci-dessous.
messageLe message d'erreur PHP 3.
location Nom du fichier et numéro de ligne où l'erreur est survenue. La première occurrence de location contiendra toujours la localisation générale. data contiendra : file:line. Il y a toujours une indication de location après un message et après chaque function.
frames Nombre de frames dans le dump de la pile. S'il y a 4 frames, attendez-vous à des informations sur 4 niveaux de fonctions. Si la ligne "frame" n'existe pas, la profondeur doit être 0 (une erreur est survenue au niveau général).
function Nom de la fonction qui a généré l'erreur. Elle sera répétée à chaque niveau de la pile d'appel.
end Indique au client que le message du débogueur se termine ici.

data

Ligne de données.

Tableau E-2. Types d'erreur du débogueur

DébogueurInterne PHP 3
alerte (warning)E_WARNING
erreurE_ERROR
analyse (parse)E_PARSE
note (notice)E_NOTICE
core-errorE_CORE_ERROR
core-warningE_CORE_WARNING
inconnue(toutes les autres)

Exemple E-2. Exemple de message du débogueur

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