Manuel PHP
Précédent | Annexe D. Débuggeur PHP | Suivant

# Protocole du débuggeur

Le protocole de débugage 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 :

`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 D-1. Types des lignes du Débuggeur

  Nom | Signification
  --- | ---
  `start` | Indique au programme client que le message du débuggeur 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ébuggeur se termine ici.

`data`

  Ligne de données.

Tableau D-2. Types d'erreur du débuggeur

Débuggeur | 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)

Exemple D-1. Exemple de message du débuggeur 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

Précédent | Sommaire | Suivant
Utiliser le débuggeur PHP | Niveau supérieur | Développement PHP