Função debug_backtrace() do PHP

Exemplo

Gerar backtrace do PHP:

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

A saída do código é semelhante a esta:

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
         )
     )
 )

Definição e uso

A função debug_backtrace() gera o backtrace (rastreamento de volta).

A função exibe os dados gerados pelo código da função debug_backtrace().

Retorna um array associativo. Os elementos possíveis são os seguintes:

Nome Tipo Descrição
function string Nome da função atual
line integer Número da linha atual
file string Nome do arquivo atual
class string Nome da classe atual
objeto objeto Objeto atual
type string

Tipo de chamada atual. Tipos possíveis:

  • Retorna: "->" - chamada de método
  • Retorna: "::" - chamada de método estático
  • Retorna nothing - chamada de função
args array Se estiver dentro de uma função, liste os argumentos da função. Se estiver no arquivo citado, liste o nome do arquivo citado.

Sintaxe

debug_backtrace(opções,limit);
Parâmetro Descrição
opções

Opcional. Especificar a máscara de bits das seguintes opções:

  • DEBUG_BACKTRACE_PROVIDE_OBJECT (preencher o índice "object").
  • DEBUG_BACKTRACE_IGNORE_ARGS (ignorar o índice "args", incluindo todos os argumentos das funções/metodos, o que pode economizar custos de memória).
limit Opcional. Limita o número de quadros da pilha retornados. O padrão é (limit=0) retorna todos os quadros da pilha.

Detalhes Técnicos

Retorno: Nenhum
Versão PHP: 4.3+
Registros de Atualização PHP

PHP 5.4: Adicionou parâmetro opcional limit.

PHP 5.3.6: Parâmetro provide_object modificou opçõese aumentou o parâmetro opcional DEBUG_BACKTRACE_IGNORE_ARGS.

PHP 5.2.5: Adicionou parâmetro opcional provide_object.

PHP 5.1.1: Adicionou o atual objeto Para os elementos possíveis.