cortesi         Sat Apr 13 21:44:18 2002 EDT

  Modified files:              
    /phpdoc/it/appendices       debugger.xml 
  Log:
  re-adding file with the already little translated text from removed version
  
Index: phpdoc/it/appendices/debugger.xml
diff -u /dev/null phpdoc/it/appendices/debugger.xml:1.9
--- /dev/null   Sat Apr 13 21:44:18 2002
+++ phpdoc/it/appendices/debugger.xml   Sat Apr 13 21:44:18 2002
@@ -0,0 +1,280 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- EN-Revision: 1.20 Maintainer: perugini Status: working -->
+ <appendix id="debugger">
+  <title>Debugging PHP</title>
+
+  <sect1 id="debugger-about">
+   <title>About the debugger</title>
+   <simpara>
+    PHP 3 includes support for a network-based debugger.
+   </simpara>
+   <simpara>
+    PHP 4 does not have an internal debugging facility.
+    You can use one of the external debuggers though. The
+    <ulink url="&url.zend.ide;">Zend IDE</ulink> includes
+    a debugger, and there are also some free debugger extensions
+    like DBG at <ulink url="&url.dbg;">&url.dbg;</ulink> or the 
+    <ulink url="&url.apd;">Advanced PHP Debugger</ulink> (APD).
+   </simpara>
+  </sect1>
+
+  <sect1 id="debugger-using">
+   <title>Using the Debugger</title>
+
+   <para>
+    Il debugger interno del PHP 3 � utile per tracciare errori non
+    visibili. Il debugger funziona tramite una connessione ad una porta
+    <acronym>TCP</acronym> che viene attivata ogni volta che viene eseguito il PHP 3.
+    Tutti i messaggi di errore generati da quella richiesta, vengono inviati
+    a questa connessione TCP. Questa modalit� � pensata per i
+    "server di debugging" che possono essere eseguiti all'interno di un
+    <acronym>IDE</acronym> o di un editor programmabile (tipo Emacs).
+   </para>
+   <para>
+    Come configurare il debugger:
+    <orderedlist>
+     <listitem>
+      <simpara> 
+       mpostare una porta TCP per il debugger nel <link
+       linkend="configuration.file">file di configurazione</link> (<link
+       linkend="ini.debugger.port">debugger.port</link>) e attivarla
+       (<link linkend="ini.debugger.enabled">debugger.enabled</link>).
+      </simpara>
+     </listitem>
+     <listitem>
+      <simpara> 
+       Impostare un TCP listener sulla porta scelta (per esempio
+       <command>socket -l -s 1400</command> su UNIX).
+      </simpara>
+     </listitem>
+     <listitem>
+      <simpara> 
+       Nel codice, eseguire
+       "debugger_on(<replaceable>host</replaceable>)", dove
+       <replaceable>host</replaceable> � l'indirizzo IP o il nome 
+       dell'host su cui � in esecuzione il <acronym>TCP</acronym> listener.
+      </simpara>
+     </listitem>
+    </orderedlist>
+    Adesso, all warnings, notices etc. will show up on that listener
+    socket, <emphasis>even if you turned them off with
+    <function>error_reporting</function></emphasis>.  
+   </para>
+  </sect1>
+
+  <sect1 id="debugger-protocol">
+   <title>Debugger Protocol</title>
+   <para>
+    The PHP 3 debugger protocol is line-based. Each line has a
+    <emphasis>type</emphasis>, and several lines compose a
+    <emphasis>message</emphasis>. Each message starts with a line of
+    the type <literal>start</literal> and terminates with a line of
+    the type <literal>end</literal>. PHP 3 may send lines for different
+    messages simultaneously.
+   </para>
+   <para>
+    A line has this format:
+    <informalexample>
+     <literallayout>
+<replaceable>date</replaceable> <replaceable>time</replaceable>
+<replaceable>host</replaceable>(<replaceable>pid</replaceable>)
+<replaceable>type</replaceable>:
+<replaceable>message-data</replaceable>
+     </literallayout>
+    </informalexample>
+    <variablelist>
+     <varlistentry>
+      <term><replaceable>date</replaceable></term>
+      <listitem>
+       <simpara>
+       Date in ISO 8601 format
+       
+(<replaceable>yyyy</replaceable>-<replaceable>mm</replaceable>-<replaceable>dd</replaceable>)
+       </simpara>
+      </listitem>
+     </varlistentry>
+     <varlistentry>
+      <term><replaceable>time</replaceable></term>
+      <listitem>
+       <simpara>Time including microseconds:
+       
+<replaceable>hh</replaceable>:<replaceable>mm</replaceable>:<replaceable>uuuuuu</replaceable>
+       </simpara>
+      </listitem>
+     </varlistentry>
+     <varlistentry>
+      <term><replaceable>host</replaceable></term>
+      <listitem>
+       <simpara>
+       DNS name or IP address of the host where the script error was
+       generated.
+       </simpara>
+      </listitem>
+     </varlistentry>
+     <varlistentry>
+      <term><replaceable>pid</replaceable></term>
+      <listitem>
+       <simpara>
+       PID (process id) on <replaceable>host</replaceable> of the
+       process with the PHP 3 script that generated this error.
+       </simpara>
+      </listitem>
+     </varlistentry>
+     <varlistentry>
+      <term><replaceable>type</replaceable></term>
+      <listitem>
+       <para>
+       Type of line. Tells the receiving program about what it
+       should treat the following data as:
+       <table>
+        <title>Debugger Line Types</title>
+        <tgroup cols="2">
+         <thead>
+          <row>
+           <entry>Name</entry>
+           <entry>Meaning</entry>
+          </row>
+         </thead>
+         <tbody>
+          <row>
+           <entry><literal>start</literal></entry> 
+           <entry>
+            Tells the receiving program that a debugger message
+            starts here. The contents of
+            <replaceable>data</replaceable> will be the type of error
+            message, listed below.
+           </entry>
+          </row>
+          <row>
+           <entry><literal>message</literal></entry>
+           <entry>The PHP 3 error message.</entry>
+          </row>
+          <row>
+           <entry><literal>location</literal></entry>
+           <entry>
+            File name and line number where the error occurred. The
+            first <literal>location</literal> line will always
+            contain the top-level location.
+            <replaceable>data</replaceable> will contain
+            
+<literal><replaceable>file</replaceable>:<replaceable>line</replaceable></literal>.
+            There will always be a <literal>location</literal> line
+            after <literal>message</literal> and after every
+            <literal>function</literal>.
+           </entry>
+          </row>
+          <row>
+           <entry>
+            <literal>frames</literal></entry> <entry>Number of frames
+            in the following stack dump. If there are four frames,
+            expect information about four levels of called functions.
+            If no "frames" line is given, the depth should be assumed
+            to be 0 (the error occurred at top-level).
+           </entry>
+          </row>
+          <row>
+           <entry>
+            <literal>function</literal></entry> 
+           <entry>
+            Name of function where the error occurred. Will be
+            repeated once for every level in the function call
+            stack.
+           </entry>
+          </row>
+          <row>
+           <entry><literal>end</literal></entry> 
+           <entry>
+            Tells the receiving program that a debugger message ends
+            here.
+           </entry>
+          </row>
+         </tbody>
+        </tgroup>
+       </table>
+       </para>
+      </listitem>
+     </varlistentry>
+     <varlistentry>
+      <term><replaceable>data</replaceable></term>
+      <listitem>
+       <simpara>Line data.</simpara>
+      </listitem>
+     </varlistentry>
+    </variablelist>
+
+    <table>
+     <title>Debugger Error Types</title>
+     <tgroup cols="2">
+      <thead>
+       <row>
+       <entry>Debugger</entry>
+       <entry>PHP 3 Internal</entry>
+       </row>
+      </thead>
+      <tbody>
+       <row>
+       <entry><errortype>warning</errortype></entry>
+       <entry><errortype>E_WARNING</errortype></entry>
+       </row>
+       <row>
+       <entry><errortype>error</errortype></entry>
+       <entry><errortype>E_ERROR</errortype></entry>
+       </row>
+       <row>
+       <entry><errortype>parse</errortype></entry>
+       <entry><errortype>E_PARSE</errortype></entry>
+       </row>
+       <row>
+       <entry><errortype>notice</errortype></entry>
+       <entry><errortype>E_NOTICE</errortype></entry>
+       </row>
+       <row>
+       <entry><errortype>core-error</errortype></entry>
+       <entry><errortype>E_CORE_ERROR</errortype></entry>
+       </row>
+       <row>
+       <entry><errortype>core-warning</errortype></entry>
+       <entry><errortype>E_CORE_WARNING</errortype></entry>
+       </row>
+       <row>
+       <entry><errortype>unknown</errortype></entry>
+       <entry>(any other)</entry>
+       </row>
+      </tbody>
+     </tgroup>
+    </table>
+    
+    <example>
+     <title>Example Debugger Message</title>
+     <literallayout>
+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
+     </literallayout>
+    </example>
+   </para>
+  </sect1>
+
+ </appendix>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:t
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:1
+sgml-indent-data:t
+indent-tabs-mode:nil
+sgml-parent-document:nil
+sgml-default-dtd-file:"../../manual.ced"
+sgml-exposed-tags:nil
+sgml-local-catalogs:nil
+sgml-local-ecat-files:nil
+End:
+vim600: syn=xml fen fdm=syntax fdl=2 si
+vim: et tw=78 syn=sgml
+vi: ts=1 sw=1
+-->


Reply via email to