2009-10-17 17 views
13

¿Cuál es la mejor manera de depurar PHP con Eclipse? Específicamente, estoy tratando de resolver algunos problemas en una instalación de Drupal 6.¿Depurar PHP con Eclipse?

Me gusta la depuración de Eclipse para Java. ¿Hay alguna manera de hacer lo mismo con PHP?

Respuesta

17

Nunca utilicé Eclipse para desarrollar en JAVA, pero si está preguntando sobre un depurador gráfico que permite configurar puntos de interrupción, vaya a la pila actual, vea el contenido de las variables y todo eso (al menos uno) una solución:

Puede usar la extensión Xdebug, y Eclipse PDT como IDE: la segunda es capaz de usar la primera como depurador, y le proporciona una interfaz, algo de lo que podría esperar si usó un depurador visual en otros idiomas/IDE.

He usado esta combinación un par de veces con Drupal, para ver lo que se ejecuta, en qué orden, qué, y todo lo que (no es fácil de conseguir "a mano", con el MECANISMO ganchos), y definitivamente funciona bastante bien.

Hay tutoriales disponibles en la red que explican cómo configurar ambos para que funcione el depurador.Por ejemplo:


Y aquí es una captura de pantalla de lo que puede parecer (aquí, la he instalado un punto de interrupción en algún lugar es el backoffice de Dotclear):

http://extern.pascal-martin.fr/so/eclipse-xdebug-debug-1.png

(En teoría, al hacer clic en la imagen debe obtener una versión más grande)


Los iconos en la parte superior de las ventanas le permitirá hacer cosas como:

  • paso a paso
  • paso de entrada/salida de funciones/métodos

Y también puede

  • ver el contenido de las variables (arriba a la derecha de la captura de pantalla)
  • tienen un seguimiento de pila que muestra dónde usted está (parte superior izquierda de la captura de pantalla)
  • por supuesto, ver eran usted está en el código (abajo)


También he oído que Eclipse PDT puede utilizar el Zend Extensión del depurador en lugar de Xdebug; pero nunca he probado este.

0

Puede agregar este código en el archivo php.in para habilitar el depurador.

[XDebug] 
zend_extension = "D:\opt\lampp\php\ext\php_xdebug.dll" 
xdebug.remote_enable=On 
xdebug.remote_autostart=On 
xdebug.remote_handler=dbgp 
xdebug.remote_host="localhost" 
xdebug.remote_port=9000 
xdebug.remote_mode=req 
Cuestiones relacionadas