Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > by-pkgid > 05cd670d8a02b2b4a0ffb1756f2e8308 > files > 33

php-manual-zh-5.2.4-1mdv2008.1.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>调试器协议</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
TITLE="PHP 手册"
HREF="index.html"><LINK
REL="UP"
TITLE="PHP 的调试"
HREF="debugger.html"><LINK
REL="PREVIOUS"
TITLE="使用调试器"
HREF="debugger-using.html"><LINK
REL="NEXT"
TITLE="配置选项"
HREF="configure.html"><META
HTTP-EQUIV="Content-type"
CONTENT="text/html; charset=UTF-8"></HEAD
><BODY
CLASS="sect1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>PHP 手册</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="debugger-using.html"
ACCESSKEY="P"
>上一页</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>附录 F. PHP 的调试</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="configure.html"
ACCESSKEY="N"
>下一页</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="sect1"
><H1
CLASS="sect1"
><A
NAME="debugger-protocol"
>调试器协议</A
></H1
><P
>&#13;    PHP 3 调试器协议以行为单位。每一行有一个<SPAN
CLASS="emphasis"
><I
CLASS="emphasis"
>类型(type)</I
></SPAN
>,某几行组成一个<SPAN
CLASS="emphasis"
><I
CLASS="emphasis"
>消息(message)</I
></SPAN
>。每一个消息起始于包含类型
    <TT
CLASS="literal"
>start</TT
> 的一行,并终止于包含类型 <TT
CLASS="literal"
>end</TT
>
    的一行。PHP 3 可以同时发送不同的消息行。
   </P
><P
>&#13;    行的格式如下:
    <DIV
CLASS="informalexample"
><P
></P
><A
NAME="AEN290895"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><PRE
CLASS="programlisting"
>date time host(pid) type: message-data</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
>
    </P
><P
>&#13;    <P
></P
><DIV
CLASS="variablelist"
><DL
><DT
><TT
CLASS="replaceable"
><I
>date</I
></TT
></DT
><DD
><P
>&#13;        date 使用 ISO 8601 格式:<TT
CLASS="replaceable"
><I
>yyyy</I
></TT
>-<TT
CLASS="replaceable"
><I
>mm</I
></TT
>-<TT
CLASS="replaceable"
><I
>dd</I
></TT
>。
       </P
></DD
><DT
><TT
CLASS="replaceable"
><I
>time</I
></TT
></DT
><DD
><P
>&#13;        time 精确到毫秒:<TT
CLASS="replaceable"
><I
>hh</I
></TT
>:<TT
CLASS="replaceable"
><I
>mm</I
></TT
>:<TT
CLASS="replaceable"
><I
>uuuuuu</I
></TT
>。
       </P
></DD
><DT
><TT
CLASS="replaceable"
><I
>host</I
></TT
></DT
><DD
><P
>&#13;        产生错误的 PHP 脚本所在主机的 DNS 名或 IP 地址。
       </P
></DD
><DT
><TT
CLASS="replaceable"
><I
>pid</I
></TT
></DT
><DD
><P
>&#13;        产生错误的 PHP 脚本在 <TT
CLASS="replaceable"
><I
>host</I
></TT
> 中的 PID。
       </P
></DD
><DT
><TT
CLASS="replaceable"
><I
>type</I
></TT
></DT
><DD
><P
>&#13;        行的类型。它告诉接收信息的程序如何处理下面的数据:
        <DIV
CLASS="table"
><A
NAME="AEN290931"
></A
><P
><B
>表 F-1. 调试器行类型</B
></P
><TABLE
BORDER="1"
CLASS="CALSTABLE"
><COL><COL><THEAD
><TR
><TH
>名称</TH
><TH
>含义</TH
></TR
></THEAD
><TBODY
><TR
><TD
><TT
CLASS="literal"
>start</TT
></TD
><TD
>&#13;             告诉接收的程序,调试信息由此开始。<TT
CLASS="replaceable"
><I
>data</I
></TT
>
             的内容将会是错误消息的类型,在本页面下方列出。
            </TD
></TR
><TR
><TD
><TT
CLASS="literal"
>message</TT
></TD
><TD
>PHP 3 错误消息。</TD
></TR
><TR
><TD
><TT
CLASS="literal"
>location</TT
></TD
><TD
>&#13;             发生错误的文件名和行号。<TT
CLASS="literal"
>location</TT
>
             的第一行总是包含顶级(top-level)地址。<TT
CLASS="replaceable"
><I
>data</I
></TT
>
             包含 <TT
CLASS="literal"
><TT
CLASS="replaceable"
><I
>file</I
></TT
>:<TT
CLASS="replaceable"
><I
>line</I
></TT
></TT
>。在
             <TT
CLASS="literal"
>message</TT
> 和每一个 <TT
CLASS="literal"
>function</TT
>
             之后总有一行 <TT
CLASS="literal"
>location</TT
> 行。
            </TD
></TR
><TR
><TD
>&#13;             <TT
CLASS="literal"
>frames</TT
>
            </TD
><TD
>&#13;             在下面的堆栈卸出中所包含的帧数。如果有四帧,则应该有四层函数调用的信息。如果没有给出“frames”这一行,则深度被假定为
             0(错误发生在最顶层)。
            </TD
></TR
><TR
><TD
>&#13;             <TT
CLASS="literal"
>function</TT
></TD
><TD
>&#13;             发生错误的函数。在调用函数堆栈的每级只重复一次。
            </TD
></TR
><TR
><TD
><TT
CLASS="literal"
>end</TT
></TD
><TD
>&#13;             告诉接收的程序,除错信息到此结束。
            </TD
></TR
></TBODY
></TABLE
></DIV
>
       </P
></DD
><DT
><TT
CLASS="replaceable"
><I
>data</I
></TT
></DT
><DD
><P
>每行的数据。</P
></DD
></DL
></DIV
>

    <DIV
CLASS="table"
><A
NAME="AEN290977"
></A
><P
><B
>表 F-2. 调试器错误类型</B
></P
><TABLE
BORDER="1"
CLASS="CALSTABLE"
><COL><COL><THEAD
><TR
><TH
>调试器</TH
><TH
>PHP 3 内部</TH
></TR
></THEAD
><TBODY
><TR
><TD
><SPAN
CLASS="errortype"
>warning</SPAN
></TD
><TD
><SPAN
CLASS="errortype"
>E_WARNING</SPAN
></TD
></TR
><TR
><TD
><SPAN
CLASS="errortype"
>error</SPAN
></TD
><TD
><SPAN
CLASS="errortype"
>E_ERROR</SPAN
></TD
></TR
><TR
><TD
><SPAN
CLASS="errortype"
>parse</SPAN
></TD
><TD
><SPAN
CLASS="errortype"
>E_PARSE</SPAN
></TD
></TR
><TR
><TD
><SPAN
CLASS="errortype"
>notice</SPAN
></TD
><TD
><SPAN
CLASS="errortype"
>E_NOTICE</SPAN
></TD
></TR
><TR
><TD
><SPAN
CLASS="errortype"
>core-error</SPAN
></TD
><TD
><SPAN
CLASS="errortype"
>E_CORE_ERROR</SPAN
></TD
></TR
><TR
><TD
><SPAN
CLASS="errortype"
>core-warning</SPAN
></TD
><TD
><SPAN
CLASS="errortype"
>E_CORE_WARNING</SPAN
></TD
></TR
><TR
><TD
><SPAN
CLASS="errortype"
>unknown</SPAN
></TD
><TD
>(其它任何错误)</TD
></TR
></TBODY
></TABLE
></DIV
>

    <TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN291019"
></A
><P
><B
>例 F-1. 调试器错误消息示例</B
></P
><P
CLASS="literallayout"
><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
1998-04-05&nbsp;23:27:400966&nbsp;lucifer.guardian.no(20481)&nbsp;start:&nbsp;notice<br>
1998-04-05&nbsp;23:27:400966&nbsp;lucifer.guardian.no(20481)&nbsp;message:&nbsp;Uninitialized&nbsp;variable<br>
1998-04-05&nbsp;23:27:400966&nbsp;lucifer.guardian.no(20481)&nbsp;location:&nbsp;(null;):7<br>
1998-04-05&nbsp;23:27:400966&nbsp;lucifer.guardian.no(20481)&nbsp;frames:&nbsp;1<br>
1998-04-05&nbsp;23:27:400966&nbsp;lucifer.guardian.no(20481)&nbsp;function:&nbsp;display<br>
1998-04-05&nbsp;23:27:400966&nbsp;lucifer.guardian.no(20481)&nbsp;location:&nbsp;/home/ssb/public_html/test.php3:10<br>
1998-04-05&nbsp;23:27:400966&nbsp;lucifer.guardian.no(20481)&nbsp;end:&nbsp;notice<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
></DIV
></TD
></TR
></TABLE
>
   </P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="debugger-using.html"
ACCESSKEY="P"
>上一页</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>起始页</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="configure.html"
ACCESSKEY="N"
>下一页</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>使用调试器</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="debugger.html"
ACCESSKEY="U"
>上一级</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>配置选项</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>