Función debug_backtrace() de PHP

Ejemplo

Generar el backtrace de PHP:

<?php
 function a($txt) {
     b("Glenn");
 }
 function b($txt) {
     c("Cleveland");
}
 function c($txt) {
     var_dump(debug_backtrace());
 }
 a("Peter");
 ?> 

La salida del código es similar a la siguiente:

Array (
     [0] => Array (
         [file] => C:\webfolder\test.php
         [line] => 6
         [function] => c
         [args] => Array (
             [0] => Cleveland
         )
     )
     [1] => Array (
         [file] => C:\webfolder\test.php
         [line] => 3
         [function] => b
         [args] => Array (
             [0] => Glenn
         )
     )
     [2] => Array (
         [file] => C:\webfolder\test.php
         [line] => 11
         [function] => a
         [args] => Array (
             [0] => Peter
         )
     )
 )

Definición y uso

La función debug_backtrace() genera el backtrace (seguimiento de la pila).

Esta función muestra los datos generados por el código de la función debug_backtrace().

Devuelve un array asociativo. Los elementos que pueden devolverse son los siguientes:

Nombre Tipo Descripción
function string Nombre de la función actual
line integer Número de línea actual
file string Nombre del archivo actual
class string Nombre de la clase actual
object object Objeto actual
type string

Tipo de llamada actual. Posibles llamadas:

  • Devuelve: "->" - Llamada a método
  • Devuelve: "::" - Llamada a método estático
  • Devuelve nothing - Llamada a función
args array Si está en una función, lista los argumentos de la función. Si está en el archivo citado, lista el nombre del archivo citado.

Sintaxis

debug_backtrace(opciones,límite);
Parámetros Descripción
opciones

Opcional. Especificar la máscara de bits de las siguientes opciones:

  • DEBUG_BACKTRACE_PROVIDE_OBJECT (rellenar el índice de "object").
  • DEBUG_BACKTRACE_IGNORE_ARGS (ignorar el índice de "args", incluyendo todos los argumentos de la función/metodo, lo que puede ahorrar costos de memoria).
límite Opcional. Limitar la cantidad de marcos de pila devueltos. El valor predeterminado es (límite=0) devuelve todos los marcos de pila.

Detalles técnicos

Valor de retorno: Ninguno
Versión de PHP: 4.3+
Registro de actualizaciones de PHP

PHP 5.4: Se agregó el parámetro opcional límite.

PHP 5.3.6: Parámetro provide_object se convirtió en opcionesy se agregó el parámetro opcional DEBUG_BACKTRACE_IGNORE_ARGS.

PHP 5.2.5: Se agregaron parámetros opcionales provide_object.

PHP 5.1.1: Se agregó el actual object Para los elementos que pueden devolver.