デバッガのプロトコル
PHP 3 のデバッガのプロトコルは行ベースです。各行には タイプ を持ち、また メッセージ を構成する行もあります。 各メッセージはタイプ start を持つ行で始まり、タイプ end を持つ行で終わります。 PHP 3 は異なったメッセージを持つ行を同時に送ることがあります。
A line has this format:
date time host(pid) type: message-data
- 日付
- ISO 8601 フォーマットの日付 (yyyy-mm-dd)
- 時刻
- マイクロ秒単位の時刻: hh:mm:uuuuuu
- ホスト名
- スクリプト・エラーを生成したホストのDNS名 またはIPアドレス。
- プロセス ID
- ホストにおいて このエラーを生成した PHP 3 スクリプトのプロセス ID
- タイプ
-
行のタイプ。以降に続くデータをどう解釈すべきかを、 受信プログラムに知らせます。
デバッガの行タイプ 名前 意味 start デバッガ・メッセージが、 ここから始まることを受信プログラムに伝える役割をします。 データ の内容は、 以下に示すエラーメッセージのタイプです。 message PHP 3 エラーメッセージ location エラーが発生したファイル名と行番号。最初の location 行は常に最上位レベルの位置が入っています。 データは ファイル名: 行番号 のようになります。 message の後、および、すべての function の後の行には常に location が付きます。 frames 後に続くスタックダンプの中のフレーム数。もし4フレームあれば、 4レベルに渡ってコールされた関数の情報があることになります。 "frames" 行がない場合は、ネストの深さは0 (エラーはトップレベルで起こった)と仮定されます。 function エラーが発生した関数名。関数コール・スタックにおいて、 各レベル毎に繰り返されます。 end 受信プログラムに対して、 デバッガのメッセージがここで終わることを知らせます。 - データ
- 行データ
デバッガ | PHP 3 内部 |
---|---|
警告 | E_WARNING |
エラー | E_ERROR |
パース | E_PARSE |
通知 | E_NOTICE |
コア・エラー | E_CORE_ERROR |
コア警告 | E_CORE_WARNING |
未定義 | (その他) |
Example#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