debug_backtrace

(PHP 4 >= 4.3.0, PHP 5)

debug_backtrace --  Genera un backtrace

Descripción

array debug_backtrace ( void )

debug_backtrace() genera un backtrace PHP y devuelve esta información como un array asociativo. Los elementos posiblemente devueltos son referenciados en la siguiente tabla:

Tabla 1. Elementos posiblemente devueltos por debug_backtrace()

NombreTipoDescripción
functionstring El nombre de la función actual. Vea también __FUNCTION__.
lineinteger El número de línea actual. Vea también __LINE__.
filestring El nombre del archivo actual. Vea también __FILE__.
classstring El nombre de la clase actual. Vea también __CLASS__
typestring El tipo de llamada actual. Si es una llamada de método, se devuelve "->". Si es una llamada a un método estático, se devuelve "::". Si es una llamada de función, no se devuelve nada.
argsarray Si se encuentra al interior de una función, contiene una lista de los argumentos de la función. Si se encuentra al interior de un archivo de inclusión, contiene una lista de los nombres de archivos incluídos.

El siguiente es un ejemplo sencillo.

Ejemplo 1. Ejemplo de debug_backtrace()

<?php
// nombre de archivo: a.php

function una_prueba($cadena)
{
    echo
"\nHola: $cadena";
    
var_dump(debug_backtrace());
}

una_prueba('amigo');
?>

<?php
// nombre de archivo: b.php
include_once '/tmp/a.php';
?>

Resultados de ejecutar /tmp/b.php:

Hola: amigo
array(2) {
  [0]=>
  array(4) {
    ["file"] => string(10) "/tmp/a.php"
    ["line"] => int(10)
    ["function"] => string(8) "prueba_a"
    ["args"]=>
    array(1) {
      [0] => &string(5) "amigo"
    }
  }
  [1]=>
  array(4) {
    ["file"] => string(10) "/tmp/b.php"
    ["line"] => int(2)
    ["args"] => 
    array(1) {
      [0] => string(10) "/tmp/a.php"
    }
    ["function"] => string(12) "include_once"
  }
}

Vea también trigger_error() y debug_print_backtrace().