デバッガのプロトコル

デバッガのプロトコルは行ベースです。各行にはタイプ を持ち、またメッセージを構成 する行もあります。各メッセージはタイプstart を持つ行で始まり、タイプendを持つ行で終わり ます。PHP は異なったメッセージを持つ行を同時に送ることがあり ます。

各行のフォーマット:


    日付 
    時刻 
    ホスト
    (プロセスID
    タイプ
    メッセージデータ
    

日付

ISO 8601 フォーマットの日付 (yyyy- mm- dd)

時刻

マイクロ秒を含む時刻: hh: mm: uuuuuu

ホスト名

スクリプト・エラーを生成したホストの DNS 名 または IP アドレス。

プロセスID

このエラーを生成した PHP スクリプトが動いている ホストにおけるプロセスID

タイプ

行のタイプ。以降に続くデータをどう解釈すべきかを、 受信プログラムに知らせます。

表 C-1. デバッガの行タイプ

名前意味
start デバッガ・メッセージがここから始まることを受信プログラムに 伝える役割をします。データ の内容 は、以下に示すエラーメッセージのタイプです。
messagePHP エラーメッセージ
location エラーが発生したファイル名と行番号。最初の location 行は常に最上位レベルの位置が 入っています。データファイル名: 行番号 のようになります。 message の後、および、すべての function の後の行には常に location が付きます。
frames 後に続くスタックダンプの中のフレーム数。もし4フレームあれば、 4レベルに渡ってコールされた関数の情報があることになります。 "frames" 行がない場合は、ネストの深さは 0 (エラーはトップ レベルで起こった)と仮定されます。
function エラーが発生した関数名。関数コール・スタックにおいて、各レベル 毎に繰り返されます。
end 受信プログラムに対して、デバッガのメッセージがここで終わる ことを知らせます。

データ

行データ

表 C-2. デバッガのエラータイプ

デバッガPHP 内部
警告E_WARNING
エラーE_ERROR
パースE_PARSE
通知E_NOTICE
コア・エラーE_CORE_ERROR
コア警告E_CORE_WARNING
未定義(その他)

例 C-1. デバッガメッセージの例


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