PHP 3 调试器协议以行为单位。每一行有一个类型(type),某几行组成一个消息(message)。每一个消息起始于包含类型 start 的一行,并终止于包含类型 end 的一行。PHP 3 可以同时发送不同的消息行。
行的格式如下:
date time host(pid) type: message-data
行的类型。它告诉接收信息的程序如何处理下面的数据:
名称 | 含义 |
---|---|
start | 告诉接收的程序,调试信息由此开始。data 的内容将会是错误消息的类型,在本页面下方列出。 |
message | PHP 3 错误消息。 |
location | 发生错误的文件名和行号。location 的第一行总是包含顶级(top-level)地址。data 包含 file:line。在 message 和每一个 function 之后总有一行 location 行。 |
frames | 在下面的堆栈卸出中所包含的帧数。如果有四帧,则应该有四层函数调用的信息。如果没有给出“frames”这一行,则深度被假定为 0(错误发生在最顶层)。 |
function | 发生错误的函数。在调用函数堆栈的每级只重复一次。 |
end | 告诉接收的程序,除错信息到此结束。 |
调试器 | 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 | (其它任何错误) |
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