Forum und email

Protocolul debugger-ului

Protocolul debugger-ului din PHP 3 este orientat pe rânduri. Fiecare rând are un tip, iar câteva rânduri alcătuiesc un mesaj. Fiecare mesaj începe cu un rând de tipul start şi termină cu un rând de tipul end. PHP 3 poate trimite rânduri pentru diferite mesaje simultan.

Un rând are următorul format:

data ora server(pid) tip: datele-mesajului

data
Data în formatul ISO 8601 (yyyy-mm-dd)
ora
Ora, incluzând microsecundele: hh:mm:uuuuuu
server
Numele DNS sau adresa IP a serverului unde eroarea scriptului a fost generată.
pid
PID (identificatorul procesului) de pe server al procesului cu scriptul PHP 3, care a generat eroarea.
tip

Tipul rândului. Înştiinţează programul ce recepţionează datele despre modul în care acesta trebuie să trateze datele ce vor urma:

Tipul rândurilor debugger-ului
Denumirea Semnificaţia
start Înştiinţează programul de recepţionare că un mesaj al debugger-ului începe aici. Conţinutul datele-mesajului va fi tipul mesajului de eroare din lista ce urmează.
message Mesajul de eroare al PHP 3.
location Numele fişierului şi numărul rândului unde a avut loc eroarea. Primul rând cu location întotdeauna va conţine rândul de nivel superior. datele vor conţine fişier:rând. Întotdeauna va fi o linie cu location după message şi după fiecare function.
frames Numărul de cadre în dump-ul stivei ce urmează. Dacă sunt patru cadre, aşteptaţi-vă la informaţii despre patru nivele ale funcţiilor apelate. Dacă nici un rând "frames" nu e afişat, se presupune că adâncimea este 0 (eroarea a avut loc la nivelul superior).
function Denumirea funcţiei unde a avut loc eroarea. Va fi repetată câte o dată pentru fiecare nivel din stiva funcţiilor apelate.
end Înştiinţează programul de recepţie că mesajul debugger-ului se sfârşeşte aici.

datele
Datele rândului.
Tipurile erorilor debugger-ului
În debugger În interiorul PHP 3
În debugger În interiorul PHP 3
warning E_WARNING
error E_ERROR
parse E_PARSE
notice E_NOTICE
core-error E_CORE_ERROR
core-warning E_CORE_WARNING
unknown (toate celelalte)

Example#1 Exemplu al unui mesaj al debugger-ului

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