Xdebug es una de las herramientas más útiles en el desarrollo de software, ya que se trata de un depurador o debugger. Xdebug permite trazar la ejecución de tu código e inspeccionar la pila de instrucciones ejecutadas.

Además, se puede utilizar XDebug junto con muchos IDEs para poder establecer breakpoints en el código y así facilitar la depuración de las aplicaciones. Gracias al uso de herramientas como PHPUnit y KCacheGrind, Xdebug también permite realizar análisis de cobertura del código.

Si cuando sucede un error en tu aplicación recurres al típico var_dump() o print_r() pero sigues sin encontrar la causa del error, quizás te interese utilizar en su lugar un depurador como Xdebug.

Instalar XDebug puede ser complicado, pero una de las características más importantes es la depuración remota. Si programas tu código en local y después lo pruebas en una máquina virtual o en otro servidor remoto, la depuración remota es exactamente la solución que estabas buscando.

Normalmente esta característica requiere añadir la siguiente configuración en el Virtual Host de Apache o en el archivo .htaccess de tu aplicación:

php_value xdebug.remote_host=192.168.?.?
php_value xdebug.remote_port=9000

Cambia el valor remote host por la dirección IP local de tu ordenador y el valor remote port por el puerto en el que tu IDE está escuchando al depurador. Ahora ya puedes hacer que tu IDE escuche las conexiones del depurador. Para iniciar una sesión de depuración, añade el parámetro XDEBUG_SESSION_START a la URL. Ejemplo:

http://example.com/index.php?XDEBUG_SESSION_START=1

Al cargar esa URL, el IDE interceptará el estado actual de la ejecución de la aplicación, permitiendo establecer breakpoints y verificar el valor de cualquier variable.

Los depuradores gráficos simplifican al máximo el proceso de inspeccionar el código, comprobar el valor de las variables y evaluar el código en tiempo de ejecución. Muchos IDEs tienen integrado o disponen de plugins para integrar Xdebug. También dispones de MacGDBp, que es una aplicación gráfica de Mac OS X para Xdebug y que es gratuita y software libre.