Utilizando a função debug_print_backtrace, podemos visualizar a pilha de
chamadas de funções ou métodos até o momento que um erro ocorre. Assim, o rastreio
dos erros em nossas aplicações podem ser melhor verificados.
Sintaxe
debug_print_backtrace(int $options = 0, int $limit = 0): void
Onde
$limit: número de linhas imprimidas
$options: Ignorar não as informações sobre função/método e argumentos.
Alguns valores aceitos para $options:
DEBUG_BACKTRACE_IGNORE_ARGS: Ignorar informaçõess
Exemplo 5
<?php
trigger_error("um erro qualquer");
var_export(error_get_last());
?>
Saída
#0 main.php(6): funcao3()
#1 main.php(3): funcao2()
#2 main.php(12): funcao1()
Para recuperar essas informações da saída em formato array associativo, utilizamos
a função debug_backtrace:
Sintaxe:
debug_backtrace(int $options = DEBUG_BACKTRACE_PROVIDE_OBJECT, int $limit = 0): array
Onde
$limit: Número de chamadas na pilha para retornar. Valor padrão 0 para imprimir toda pilha de chamadas.
$options: inteiro contendo as flags:
DEBUG_BACKTRACE_PROVIDE_OBJECT: Popular object co informações
DEBUG_BACKTRACE_IGNORE_ARGS: Omitir argumentos
Retorno
array associativo contendo a pilha de execução no formato chave-valor abaixo:
file: nome do arquivo(string)
line: linha da chamada(int)
function: nome da função/método(string)
args: array contendo argumentos
Exemplo 6
<?php
function funcao1($param) {
var_export(debug_backtrace());
}
funcao1();
?>
Saída
array (
0 =>
array (
'file' => 'man.php',
'line' => 5,
'function' => 'funcao1',
'args' =>
array (
0 => 'parametro',
),
),
)
)