デバッガのプロトコル

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

各行のフォーマット:


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

日付

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

時刻

マイクロ秒単位の時刻: hh : mm : uuuuuu

ホスト名

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

プロセスID

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

タイプ

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

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

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


データ

行データ

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

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

例 D-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