2 visitas

¿Querés ver el stack trace en PHP sin tirar una excepción? Acá te muestro cómo

🧠 ¿Querés ver el stack trace en PHP sin tirar una excepción? En esta nota te muestro cómo usar debug_backtrace() y debug_print_backtrace() para obtener el flujo de ejecución sin necesidad de lanzar errores.

📌 Cómo obtener un stack trace en PHP sin lanzar una excepción

A veces necesitamos obtener el stack trace de ejecución en PHP, pero sin tener que lanzar una excepción. Ya sea para debuggear, loguear o simplemente entender cómo llegamos a cierta parte del código, PHP nos da las herramientas para hacerlo de forma nativa y sencilla.

🔍 Usando debug_backtrace()

La función debug_backtrace() devuelve un array detallado del stack actual de llamadas. Acá un ejemplo bien simple:

function mostrarTrace(): void {
    $trace = debug_backtrace();

    foreach ($trace as $item) {
        echo "Archivo: {$item['file']} - Línea: {$item['line']} - Función: {$item['function']}" . PHP_EOL;
    }
}

function funcionIntermedia(): void {
    mostrarTrace();
}

function inicio(): void {
    funcionIntermedia();
}

inicio();

Este código va a imprimir algo como:

Archivo: /ruta/archivo.php - Línea: 3 - Función: mostrarTrace
Archivo: /ruta/archivo.php - Línea: 10 - Función: funcionIntermedia
Archivo: /ruta/archivo.php - Línea: 13 - Función: inicio

Esto imprime directamente el trace en el output, sin necesidad de formatearlo manualmente.

¿Querés ver el stack trace en PHP sin tirar una excepción? Acá te muestro cómo
19 April 2025

Me dedico a crear soluciones web eficientes y a compartir mi conocimiento con la comunidad de desarrolladores.

Alejandro Leone
Backend Developer