cvs: phpdoc-ro /appendices debugger.xml

From: Date: Wed, 12 Mar 2008 13:55:20 +0000
Subject: cvs: phpdoc-ro /appendices debugger.xml
Groups: php.doc.ro 
Request: Send a blank email to doc-ro+get-348@lists.php.net to get a copy of this message
simionea Wed Mar 12 13:55:20 2008 UTC Modified files: /phpdoc-ro/appendices debugger.xml Log: Updated the file.

http://cvs.php.net/viewvc.cgi/phpdoc-ro/appendices/debugger.xml?r1=1.2&r2=1.3&diff_format=u Index: phpdoc-ro/appendices/debugger.xml diff -u phpdoc-ro/appendices/debugger.xml:1.2 phpdoc-ro/appendices/debugger.xml:1.3 --- phpdoc-ro/appendices/debugger.xml:1.2 Sat Jun 23 13:30:59 2007 +++ phpdoc-ro/appendices/debugger.xml Wed Mar 12 13:55:20 2008 @@ -1,260 +1,25 @@ <?xml version="1.0" encoding="utf-8"?> -<!-- $Revision: 1.2 $ --> -<!-- EN-Revision: 1.28 Maintainer: simionea Status: translated --> +<!-- $Revision: 1.3 $ --> +<!-- EN-Revision: 1.29 Maintainer: simionea Status: translated --> <appendix xml:id="debugger" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>Depistarea erorilor (debugging) în PHP</title> <sect1 xml:id="debugger-about"> - <title>Despre debugger</title> + <title>Despre debugging în PHP</title> <simpara> - PHP 3 includea posibilitatea de a utiliza un debugger prin reţea. + PHP nu posedă o facilitate internă de debugging. </simpara> <simpara> PHP 4 nu posedă o facilitate internă de debugging. Însă puteţi folosi unul dintre debugger-ele externe. <link xlink:href="&url.zend.ide;">Mediul Zend IDE</link> include un debugger, şi mai sunt şi alte extensii gretuite de debugging, cum ar fi - DBG la <link xlink:href="&url.dbg;">&url.dbg;</link>, + DBG la <link xlink:href="&url.dbg;">&url.dbg;</link>, <link xlink:href="&url.apd;">Advanced PHP Debugger</link> (APD) sau - <link xlink:href="&url.xdebug;">Xdebug</link> care posedă chiar o interfaţă de - debugger compatibilă cu funcţionalitatea PHP 3, care este descrisă în această - secţiune. + <link xlink:href="&url.xdebug;">Xdebug</link>. </simpara> </sect1> - <sect1 xml:id="debugger-using"> - <title>Utilizarea debugger-ului</title> - - <para> - Debuggerul intern din PHP 3 este de folos pentru depistarea greşelilor evazive. - Debugger-ul funcţoinează prin a se conecta la un port <acronym>TCP</acronym> - de fiecare dată când PHP 3 este lansat în execuţie. - Toate mesajele de eroare de la acea interpelare vor fi trimise spre această - conexiune TCP. Această informaţie este destinată unui "server de debugging", - care poate fi rulat în interiorul unui mediu <acronym>IDE</acronym> sau a - unui editor programabil (cum ar fi Emacs). - </para> - <para> - Cum să pregătim de lucru debugger-ul: - <orderedlist> - <listitem> - <simpara> - Stabiliţi un port TCP pentru debugger în <link - linkend="configuration.file">fişierul de configurare</link> - (<link linkend="ini.debugger.port">debugger.port</link>) şi activaţi-l - (<link linkend="ini.debugger.enabled">debugger.enabled</link>). - </simpara> - </listitem> - <listitem> - <simpara> - Stabiliţi undeva un "ascultător" pe acest port TCP (spre exemplu - <command>socket -l -s 1400</command> pe sistemele Unix). - </simpara> - </listitem> - <listitem> - <simpara> - În codul sursă, executaţi - "debugger_on(<replaceable>host</replaceable>)", unde - <replaceable>host</replaceable> este adresa IP sau numele serverului unde - rulează "ascultătorul" <acronym>TCP</acronym>. - </simpara> - </listitem> - </orderedlist> - Acum toate preîntâmpinările, notificările, etc. vor apărea pe acel socket al - "ascultătorului", <emphasis>chiar dacă le-aţi deconectat cu opţiunea - <function>error_reporting</function></emphasis>. - </para> - </sect1> - - <sect1 xml:id="debugger-protocol"> - <title>Protocolul debugger-ului</title> - <para> - Protocolul debugger-ului din PHP 3 este orientat pe rânduri. Fiecare rând are - un <emphasis>tip</emphasis>, iar câteva rânduri alcătuiesc un - <emphasis>mesaj</emphasis>. Fiecare mesaj începe cu un rând de tipul - <literal>start</literal> şi termină cu un rând de tipul - <literal>end</literal>. PHP 3 poate trimite rânduri pentru diferite mesaje simultan. - </para> - <para> - Un rând are următorul format: - <informalexample> - <programlisting> -<![CDATA[ -data ora server(pid) tip: datele-mesajului -]]> - </programlisting> - </informalexample> - </para> - <para> - <variablelist> - <varlistentry> - <term><replaceable>data</replaceable></term> - <listitem> - <simpara> - Data în formatul ISO 8601 - (<replaceable>yyyy</replaceable>-<replaceable>mm</replaceable>-<replaceable>dd</replaceable>) - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term><replaceable>ora</replaceable></term> - <listitem> - <simpara>Ora, incluzând microsecundele: - <replaceable>hh</replaceable>:<replaceable>mm</replaceable>:<replaceable>uuuuuu</replaceable> - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term><replaceable>server</replaceable></term> - <listitem> - <simpara> - Numele DNS sau adresa IP a serverului unde eroarea scriptului a fost generată. - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term><replaceable>pid</replaceable></term> - <listitem> - <simpara> - PID (identificatorul procesului) de pe <replaceable>server</replaceable> al procesului cu - scriptul PHP 3, care a generat eroarea. - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term><replaceable>tip</replaceable></term> - <listitem> - <para> - Tipul rândului. Înştiinţează programul ce recepţionează datele despre modul în care acesta - trebuie să trateze datele ce vor urma: - <table> - <title>Tipul rândurilor debugger-ului</title> - <tgroup cols="2"> - <thead> - <row> - <entry>Denumirea</entry> - <entry>Semnificaţia</entry> - </row> - </thead> - <tbody> - <row> - <entry><literal>start</literal></entry> - <entry> - Înştiinţează programul de recepţionare că un mesaj al debugger-ului începe aici. - Conţinutul <replaceable>datele-mesajului</replaceable> va fi tipul mesajului de - eroare din lista ce urmează. - </entry> - </row> - <row> - <entry><literal>message</literal></entry> - <entry>Mesajul de eroare al PHP 3.</entry> - </row> - <row> - <entry><literal>location</literal></entry> - <entry> - Numele fişierului şi numărul rândului unde a avut loc eroarea. Primul rând cu - <literal>location</literal> întotdeauna va conţine rândul de nivel superior. - <replaceable>datele</replaceable> vor conţine - <literal><replaceable>fişier</replaceable>:<replaceable>rând</replaceable></literal>. - Întotdeauna va fi o linie cu <literal>location</literal> după <literal>message</literal> - şi după fiecare <literal>function</literal>. - </entry> - </row> - <row> - <entry><literal>frames</literal></entry> - <entry> - Numărul de cadre în dump-ul stivei ce urmează. Dacă sunt patru cadre, aşteptaţi-vă la - informaţii despre patru nivele ale funcţiilor apelate. Dacă nici un rând "frames" nu - e afişat, se presupune că adâncimea este 0 (eroarea a avut loc la nivelul superior). - </entry> - </row> - <row> - <entry> - <literal>function</literal></entry> - <entry> - Denumirea funcţiei unde a avut loc eroarea. Va fi repetată câte o dată pentru fiecare - nivel din stiva funcţiilor apelate. - </entry> - </row> - <row> - <entry><literal>end</literal></entry> - <entry> - Înştiinţează programul de recepţie că mesajul debugger-ului se sfârşeşte aici. - </entry> - </row> - </tbody> - </tgroup> - </table> - </para> - </listitem> - </varlistentry> - <varlistentry> - <term><replaceable>datele</replaceable></term> - <listitem> - <simpara>Datele rândului.</simpara> - </listitem> - </varlistentry> - </variablelist> - - <table> - <title>Tipurile erorilor debugger-ului</title> - <tgroup cols="2"> - <thead> - <row> - <entry>În debugger</entry> - <entry>În interiorul PHP 3</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>(toate celelalte)</entry> - </row> - </tbody> - </tgroup> - </table> - - <example> - <title>Exemplu al unui mesaj al debugger-ului</title> - <literallayout> -<![CDATA[ -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> <!-- Translated by Simion Onea -->
« previous php.doc.ro (#348) next »