
Entre las características de depuración que incorpora Xdebug
destacan:
- Creación de registros con las llamadas a funciones que se produzcan, incluyendo parámetros y valores devueltos.
- Creación de registros de optimización, que permitan analizar el rendimiento de los programas.
- Depuración remota.
Vamos a centrarnos en la depuración remota utilizando VSC con la extensión "PHP Debug"
instalada.
- Paso 1: Abrimos el archivo PHP del que vayamos a hacer el
debug
(en este caso"cesta.php"
). Le damos al Triángulo con el "bug" encima. - Paso 2: La primera vez nos pide crear un archivo "
launch.json
" con la configuración. Pulsamos sobre "create launch.json file"
. - Paso 3: Al pulsar nos pide el lenguaje del fichero sobre el que vamos a hacer
debug
, seleccionamos PHP. - Paso 4: Vemos que nos ha creado un
json
con una configuración estándar, si no hemos cambiado nada enXdebug
lo dejamos tal cuál. - Paso 5: Ponemos de ejemplo dos "
BreakPoints
" encesta.php.
- Paso 6: Le damos a
RUN
para empezar la depuración. - Paso 7: Cargamos el archivo "
cesta.php
", en el navegador, para llegar a él hacemoslogin,
seleccionamos dos o tres productos delistado.php
y pulsamos "Ir a cesta", en este momento vemos que se nos abre VSC. Nos aparece la linea 9 (donde pusimos el primerBeakpoint
) de amarillo y arriba tenemos un pequeño panel de botones (continue
,step into
,step over
...) si observamos a la izquierda ya me aparecen variable y sus valores, en el caso de$listado
apareceuninitialized.
- Paso 8: Como se ha parado en la llamada a consultar producto, le damos a "
step into (F11)
" y vemos que se nos abre en VSC la páginaconexión.php
y la funciónconsultarProducto()
, en el panel de arriba le damos a continuar (play
) - Paso 9: Vemos que a la izquierda la variable
$listado
, que antes no estaba inicializada, guarda ya el nombre y el precio del primer producto, si repetimos lo mismo vemos que listado se va llenando con los datos de los productos seleccionados.