Forum und email
Protokol debuggeru

Protokol debuggeru

Protokol PHP 3 debuggeru je řádkově orientovaný. Každý řádek je určitého typu a několik řádků tvoří zprávu. Každá zpráva začíná řádkem typu start a končí řádkem typu end. PHP 3 může současně posílat řádky pro různé zprávy.

Řádek má tento formát:

date time host(pid) type: message-data

date

Datum ve formátu ISO 8601 (yyyy-mm-dd)

time

Čas včetně mikrosekund: hh:mm:uuuuuu

host

DNS (doménový) název nebo IP adresa počítače, kde byla vygenerována chyba ve skriptu.

pid

PID (process id) na počítači host procesu, který vygeneroval chybu v PHP 3 skriptu.

type

Typ řádku. Říká přijímajícímu programu, jak má s následujícími daty naložit:

Tabulka F-1. Typy řádků debuggeru

NázevVýznam
start Říká přijímajícímu programu, že tady začíná zpráva debuggeru. Obsahem datové části (data)bude typ chybové zprávy z níže uvedeného seznamu.
messageChybová zpráva PHP 3.
location Název souboru a číslo řádku, kde nastala chyba. První řádek location bude vždy obsahovat nejvyšší úroveň umístění. data bude obsahovat file:line. Řádek location bude následovat za každým řádkem message a každým řádkem function.
framesPočet rámců v následujícím výpisu zásobníku. Pokud jsou zde čtyři rámce, očekávejte informace o čtyřech úrovních volaných funkcí. Pokud se žádný řádek "frames" nevyskytuje, předpokládá se hloubka 0 (chyba nastala na nejvyšší úrovni).
function Název funkce, kde nastala chyba. Bude se opakovat pro každou úroveň zásobníku volání funkcí.
end Říká přijímajícímu programu, že tady končí zpráva debuggeru.

data

Data v řádku.

Tabulka F-2. Typy chyb rozlišované debuggerem

DebuggerPHP 3 Internal
warningE_WARNING
errorE_ERROR
parseE_PARSE
noticeE_NOTICE
core-errorE_CORE_ERROR
core-warningE_CORE_WARNING
unknown(všechny ostatní)

Příklad F-1. Příklad - zpráva debuggeru



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