Forum und email

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 ayant ce format :

Example#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 :

Types des lignes du Débogueur
Nom Signification
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.
message Le 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.
Types d'erreurs du débogueur
Débogueur Interne PHP 3
alerte (warning) E_WARNING
erreur E_ERROR
analyse (parse) E_PARSE
note (notice) E_NOTICE
core-error E_CORE_ERROR
core-warning E_CORE_WARNING
inconnue (toutes les autres)

Example#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