Genera el contexto de depuración

# debug_backtrace

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

debug_backtrace — Genera el contexto de depuración

### Descripción

function debug_backtrace(int `$options` = `DEBUG_BACKTRACE_PROVIDE_OBJECT`, int `$limit` = 0): array

debug_backtrace() genera un contexto de depuración PHP.

### Parámetros

`options`

  Este argumento es una máscara de las siguientes opciones:

  Opciones para la función debug_backtrace()
  DEBUG_BACKTRACE_PROVIDE_OBJECT | Si se debe o no poblar el índice "object".
  DEBUG_BACKTRACE_IGNORE_ARGS | Si se debe o no omitir el índice "args" y por lo tanto todos los argumentos de la función/método para ahorrar memoria.

  > Nota:

  > Existen cuatro combinaciones posibles:

  > Opciones de debug_backtrace()
  > `debug_backtrace()` | Rellena los dos índices
  > `debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT)`
  > `debug_backtrace(~DEBUG_BACKTRACE_PROVIDE_OBJECT)` | Omite el índice `"object"` y rellena el índice `"args"`.
  > `debug_backtrace(0)`
  > `debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS)` | Omite ambos el índice `"object"` y el índice `"args"`.
  > `debug_backtrace(~DEBUG_BACKTRACE_PROVIDE_OBJECT | DEBUG_BACKTRACE_IGNORE_ARGS)`
  > `debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT|DEBUG_BACKTRACE_IGNORE_ARGS)` | Rellena el índice `"object"` y omite el índice `"args"`.

`limit`

  Este argumento puede ser utilizado para limitar el número de marcos en la pila devuelta. Por omisión (`limit`=`0`), la función devuelve todos los marcos de la pila.

### Valores devueltos

Devuelve un array de arrays asociativos. Los elementos de retorno posibles son los siguientes:

Elementos posibles de retorno de la función debug_backtrace()
Nombre | Tipo | Descripción
--- | --- | ---
function | string | El nombre de la función actual. Ver también __FUNCTION__.
line | int | El número de línea actual. Ver también __LINE__.
file | string | El nombre del fichero actual. Ver también __FILE__.
class | string | El nombre de la clase actual. Ver también __CLASS__.
object | object | El objeto actual si `DEBUG_BACKTRACE_PROVIDE_OBJECT` es proporcionado.
type | string | El tipo de clase actual. Si un método es llamado, "->" es devuelto. Si un método estático es llamado, "::" es devuelto. Si una función es llamada, nada será devuelto.
args | array | Si dentro de una función, esto lista los argumentos. Si en un fichero incluido, esto lista los ficheros incluidos. A menos que `DEBUG_BACKTRACE_IGNORE_ARGS` sea proporcionado.

### Ejemplos

Ejemplo #1 Ejemplo con debug_backtrace()

    <?php
    // filename: /tmp/a.php

    function a_test($str)
    {
      echo "\nHi: $str";
      var_dump(debug_backtrace());
    }

    a_test('friend');
    ?>

    <?php
    // filename: /tmp/b.php
    include_once '/tmp/a.php';
    ?>

Resultado de la ejecución de /tmp/b.php:

    Hi: friend
    array(2) {
      [0]=>
        array(4) {
          ["file"] => string(10) "/tmp/a.php"
          ["line"] => int(10)
          ["function"] => string(6) "a_test"
          ["args"]=>
            array(1) {
              [0] => &string(6) "friend"
            }
        }
      [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"
        }
    }

### Ver también

- trigger_error() - Desencadena un error de usuario
- debug_print_backtrace() - Muestra la pila de ejecución de PHP

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open