<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
  <refentry xml:id="function.debug-print-backtrace" xmlns="http://docbook.org/ns/docbook">
   <refnamediv>
    <refname>debug_print_backtrace</refname>
    <refpurpose>
     Prints a backtrace
    </refpurpose>
   </refnamediv>
  
   <refsect1 role="description">
    &reftitle.description;
    <methodsynopsis>
     <type>void</type><methodname>debug_print_backtrace</methodname>
     <methodparam choice="opt"><type>int</type><parameter>options</parameter><initializer>0</initializer></methodparam>
     <methodparam choice="opt"><type>int</type><parameter>limit</parameter><initializer>0</initializer></methodparam>
    </methodsynopsis>
    <para>
     <function>debug_print_backtrace</function> prints a PHP backtrace. It
     prints the function calls, included/required files and
     <function>eval</function>ed stuff.
    </para>
   </refsect1>

 <refsect1 role="parameters"><!-- {{{ -->
  &reftitle.parameters;
  <para>
   <variablelist>
    <varlistentry>
     <term><parameter>options</parameter></term>
     <listitem>
      <para>
       As of 5.3.6, this parameter is a bitmask for the following options:
       <table>
        <title><function>debug_print_backtrace</function> options</title>
        <tgroup cols="2">
         <tbody>
          <row>
           <entry>DEBUG_BACKTRACE_IGNORE_ARGS</entry>
           <entry>
            Whether or not to omit the "args" index, and thus all the function/method arguments,
            to save memory.
           </entry>
          </row>
         </tbody>
        </tgroup>
       </table>
      </para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term><parameter>limit</parameter></term>
     <listitem>
      <para>
       As of 5.4.0, this parameter can be used to limit the number of stack frames printed.
       By default (<parameter>limit</parameter>=<literal>0</literal>) it prints all stack frames.
      </para>
     </listitem>
    </varlistentry>
   </variablelist>
  </para>
 </refsect1><!-- }}} -->

   <refsect1 role="returnvalues">
    &reftitle.returnvalues;
    <para>
     &return.void;
    </para>
   </refsect1>

 <refsect1 role="changelog">
  &reftitle.changelog;
  <para>
   <informaltable>
    <tgroup cols="2">
     <thead>
      <row>
       <entry>&Version;</entry>
       <entry>&Description;</entry>
      </row>
     </thead>
     <tbody>
      <row>
       <entry>5.4.0</entry>
       <entry>
        Added the optional parameter <parameter>limit</parameter>.
       </entry>
      </row>
      <row>
       <entry>5.3.6</entry>
       <entry>
        Added the optional parameter <parameter>options</parameter>.
       </entry>
      </row>
     </tbody>
    </tgroup>
   </informaltable>
  </para>
 </refsect1>

   <refsect1 role="examples">
    &reftitle.examples;
    <para>
     <example>
      <title><function>debug_print_backtrace</function> example</title>
      <programlisting role="php">
<![CDATA[
<?php
// include.php file

function a() {
    b();
}

function b() {
    c();
}

function c(){
    debug_print_backtrace();
}

a();

?>
]]>
      </programlisting>
      <programlisting role="php">
<![CDATA[
<?php
// test.php file
// this is the file you should run

include 'include.php';
?>
]]>
     </programlisting>
     &example.outputs.similar;
     <screen>
<![CDATA[
#0  c() called at [/tmp/include.php:10]
#1  b() called at [/tmp/include.php:6]
#2  a() called at [/tmp/include.php:17]
#3  include(/tmp/include.php) called at [/tmp/test.php:3]
]]>
     </screen>
    </example>
   </para>
  </refsect1>

  <refsect1 role="seealso">
   &reftitle.seealso;
   <para>
    <simplelist>
     <member><function>debug_backtrace</function></member>
    </simplelist>
   </para>
  </refsect1>
 </refentry>

<!-- 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:"~/.phpdoc/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
-->