Xdebug

De drev
Aller à : navigation, rechercher

EMACS

Utilisaton de Geben

Eclipse PDT

installation

depuis eclipse (recommande)

http://wiki.eclipse.org/PDT/Installation#Eclipse_3.7_.2F_Indigo_.2F_PDT_3.0

   Open Help->Install New Software. 
   Add the Helios (or whatever your current version of eclipse is) update site: http://download.eclipse.org/releases/helios/

Installer le paquage Languages / PDT


depuis le site web

www.eclipse.org/pdt/

pdt all in one (eclipse avec pdt pre-installé) ou pdt runtime : fusionner les répértoires "eclipse"

verifier help/about/installation details/ PDT dans la liste ?


Config de xdebug

Dans php.ini

; XDEBUG Extension

zend_extension = "c:/wamp/bin/php/php5.3.5/zend_ext/php_xdebug-2.1.0-5.3-vc6.dll"

[xdebug]
xdebug.remote_enable = On
xdebug.remote_autostart = On
xdebug.profiler_enable = off
xdebug.profiler_enable_trigger = off
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir = "c:/wamp/tmp"

xdebug.remote_handler="dbgp"
xdebug.remote_mode="req"
xdebug.remote_port=9000
xdebug.remote_host="127.0.0.1"
xdebug.remote_log=C:/wamp/logs

propriété de xdebug (phpinfo)

xdebug.remote_autostart si a off(par defaut), la variable XDEBUG_SESSION_START doit être passé en get ou en post ou dans un cookie pour initier une session de debugage

xdebug.remote_mode req ou jit

  • req stop l'exectution dès la demmande de la ressource
  • jit stop l'execution a un breakpoint

Configuration de PDT

configuration de base

  • Open your project in Eclipse PDT
  • In the main menu select Project->Properties
  • On the left side of the window select "PHP Debug" and then click on "Configure Workspace Settings"
  • On the "PHP Debugger" dropdown select Xdebug and click "Apply"
  • Click "Configure" to the right of Xdebug in the same window.
  • Select Xdebug and click "Configure" (or double clic on xdebug).
  • if xdebug.remote_mode=""jit" On the "Accept remote session(JIT)" select "any" and click "OK". if xdebug.remote_mode at req, keep the value at off



lancer le script

run/debug ou run debug As

l'adresse du serveur doit être celle où se site le script à debugger (adresse et port)


notez que le processus de debug part de eclipse (run/debug), et lance le script.

erreurs

  • Launching 57%: waiting for XDebug session

le port par defaut de xdebug (9000) est certainement déjà utilisée.

on peut lister les ports utilise avec la commande

netstat -a

si c'est le cas, changer la valeur dans xdebug.remote_port et dans la configuration du debugger dans eclipse window/preference/PHP/Debug/installed debuggers/Xdebug configure port

Bibliographie

http://bogdan-albei.blogspot.com/2010/06/php-remote-debugging-with-xdebug-and.html

http://doc.waterproof.fr/phpedit/debugging_profiling/configuration/debugger_with_xdebug

http://devzone.zend.com/article/2930

http://www.agilepman.com/2010/09/launching-waiting-for-xdebug-session/