Pregunta

He estado usando xdebug para depurar y entender el código en proyectos php por un tiempo, y en ocasiones he estado en situaciones en las que no está claro qué está pasando dentro de PHP.

¿Es posible configurar xdebug o gdb para que pueda rastrear las funciones incorporadas de php reales?

¿Fue útil?

Solución

Si está utilizando un sistema macosx, solaris o freebsd reciente, puede darle un poco de seguimiento. Puede ser útil para aquellos que son demasiado numerosos " ¿WTF está haciendo PHP? & Quot; momentos

Otros consejos

Lo dudo, xdebug está diseñado para rastrear su código PHP, no los internos. Se asume que las partes internas están libres de errores (lo que obviamente no lo son a veces, pero eso está fuera del alcance de xdebug).

Siempre puedes mirar la fuente de PHP si quieres saber qué hacen las funciones integradas, pero a veces eso es bastante complicado. Los documentos del manual de PHP siempre me han servido lo suficientemente bien cuando quiero saber qué harán.

Puede usar gdb para rastrear el código de nivel C, siempre que haya compilado PHP con símbolos de depuración. Echa un vistazo aquí para empezar:

http://derickrethans.nl/phps_segmentation_faults_gdbfu.php

Una forma de probar la salida del motor Zend, mirar dentro de los códigos de operación, puede usar VLD de Derick Rethan (Desensamblador lógico Vulcan) , que también parece estar en PECL . Nota: solo funciona en sistemas * nix (consulte los requisitos del sitio).

Algunos ejemplos de depuración de estos códigos de operación se pueden encontrar en blog de Sara Golemon , en artículos como Descripción de los opcodos y Cómo de largo es un trozo de cuerda? .

También hay una gran extensión de Google Chrome Consola de PHP con php library que permite:

  • Ver errores & amp; excepción en la consola de JavaScript de Chrome & amp; en las ventanas emergentes de notificación.
  • Volcar cualquier tipo de variable.
  • Ejecutar el código PHP de forma remota.
  • Proteger el acceso por contraseña.
  • Agrupe los registros de la consola por solicitud.
  • Saltar al archivo de errores: línea en su editor de texto.
  • Copie los datos de error / depuración al portapapeles (para los evaluadores).

Recomienda a todos!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top