Donc, éclipse et xdebug entrent dans une barre, puis mon serveur Apache meurt

J’utilise windows xp x86, wamp, apache2, php 5.3 x86, eclipse php et xdebug, fonctionnant sous localhost à la fois comme virtualhost et htth virtualhost

Informations sur la version de l’éclipse
Version Eclipse pour les développeurs PHP: Helios Version Version ID: 20100617-1415

J’avais réussi, en quelque sorte, à configurer eclipse et xdebug et tout allait bien.

Ensuite, j’ai dû créer une twig svn de mon projet et reconfigurer Apache avec 2 nouveaux hôtes virtuels et mettre à jour mes fichiers hôtes Windows.

Maintenant, quand je lance le mode de débogage dans éclipse, tout meurt.

Plus précisément, si je ne mets pas de points d’arrêt, l’application fonctionne correctement, sauf pour le problème que j’essaie de déboguer en premier lieu.

Si je mets un point d’arrêt, l’application s’arrête au point d’arrêt et l’éclipse semble tenir la balle. Mais maintenant, quand j’appuie sur Continuer, ou sur, ou sur, ou éternuer, éclipse me dit que l’exécution a repris, mais l’application continue de se bloquer, et je dois redémarrer apache.

Je pense que la communication entre eclipse et xdebug est interrompue, car il me semble que eclipse envoie ma commande continue ou pas à pas, mais xdebug ne la reçoit pas.

Mais même si c’est le cas, je ne sais pas quoi faire. Où devrais-je regarder?

Mettre à jour:
J’ai réussi à déboguer en utilisant notepad ++, son plugin xdebug, et, comme un homme des cavernes, en tapant & XDEBUG_SESSION_START = nom_session dans l’URL. Cependant, malgré mon amour pour npp, son plugin de debug est plutôt buggé …

Donc, j’ai remarqué une annonce sur stackoverflow pour quelque chose appelé “phpstorm”, qui prétendait être un php ide léger mais complet, avec un support natif de xdebug. La démo nécessitait un redémarrage pour que cela fonctionne, et cela ressemble à un travail sur une table brouillon, mais elle a très bien réussi à déboguer ma petite application de test et ma vraie application, ce qui est plus que ce que je peux dire pour éclipse à le moment même si c’est probablement ma faute.

J’aurais probablement dû poster ceci plus tôt: / Voici ma section phpinfo () xdebug

xdebug xdebug support enabled Version 2.1.0 Supported protocols Revision DBGp - Common DeBuGger Protocol $Revision: 1.145 $ Directive Local Value Master Value xdebug.auto_trace Off Off xdebug.collect_assignments Off Off xdebug.collect_includes On On xdebug.collect_params 0 0 xdebug.collect_return Off Off xdebug.collect_vars Off Off xdebug.default_enable On On xdebug.dump.COOKIE no value no value xdebug.dump.ENV no value no value xdebug.dump.FILES no value no value xdebug.dump.GET no value no value xdebug.dump.POST no value no value xdebug.dump.REQUEST no value no value xdebug.dump.SERVER no value no value xdebug.dump.SESSION no value no value xdebug.dump_globals On On xdebug.dump_once On On xdebug.dump_undefined Off Off xdebug.extended_info On On xdebug.file_link_format no value no value xdebug.idekey no value no value xdebug.manual_url http://www.php.net http://www.php.net xdebug.max_nesting_level 100 100 xdebug.overload_var_dump On On xdebug.profiler_aggregate Off Off xdebug.profiler_append Off Off xdebug.profiler_enable Off Off xdebug.profiler_enable_sortinggger Off Off xdebug.profiler_output_dir C:\xampp\tmp C:\xampp\tmp xdebug.profiler_output_name xdebug_profile.%p xdebug_profile.%p xdebug.remote_autostart Off Off xdebug.remote_connect_back Off Off xdebug.remote_cookie_expire_time 3600 3600 xdebug.remote_enable On On xdebug.remote_handler dbgp dbgp xdebug.remote_host localhost localhost xdebug.remote_log c:\xampp\apache\logs\xdebug.log c:\xampp\apache\logs\xdebug.log xdebug.remote_mode req req xdebug.remote_port 9000 9000 xdebug.scream Off Off xdebug.show_exception_trace Off Off xdebug.show_local_vars Off Off xdebug.show_mem_delta Off Off xdebug.trace_format 0 0 xdebug.trace_options 0 0 xdebug.trace_output_dir C:\xampp\tmp C:\xampp\tmp xdebug.trace_output_name trace.%c trace.%c xdebug.var_displ ay_max_children 128 128 xdebug.var_display_max_data 512 512 xdebug.var_display_max_depth 3 3 

Voici un fichier journal xdebug de quand je reproduis le problème

 Log opened at 2011-01-03 08:56:22 ->                                === breakpoint reached, execution pauses. In eclipse I click "step over" <- step_over -i 48 === end of log 

Cet article semble prometteur.

XDebug et Eclipse (dans son environnement de développement php) peuvent tous deux utiliser le protocole DBGp. Sur la base de cet article, vous pourrez peut-être faire fonctionner les choses en manipulant le fichier .htaccess d’Apache, ou en exécutant un proxy DBGp (quel qu’il soit). Plus de détails dans l’article.

Je soupçonne que XDebug et Eclipse se connectent tous deux à la même session de débogage de PHP, en se chevauchant sur d’autres orteils, ce qui entraîne le démarrage d’Hilarity.

Cela ou “comportement indéfini”. D’une manière ou d’une autre.

wooooooooooooo

https://bugs.eclipse.org/bugs/show_bug.cgi?id=312951#c8

Créer un nouvel espace de travail me permet de déboguer avec succès.

En ce moment, ma meilleure idée de ce qui a causé ceci est d’avoir deux projets dans le même espace de travail avec des vhosts différents sur la même adresse IP.

Donc je ne vais pas faire ça plus.

Cela peut sembler une question idiote et je m’en excuse, mais avez-vous créé un nouveau serveur PHP dans votre configuration de débogage Eclipse qui correspond à votre nouvel hôte virtuel?

Chaque fois que je crée un nouveau vhost, je crée généralement une nouvelle configuration de débogage et un nouveau serveur PHP dans cette configuration qui mappe sur le vhost, afin que je puisse le sélectionner facilement dans la liste déroulante Debug Configs lors du lancement d’une nouvelle session.

Pour ceux qui se posent la question, je le fais en allant sur Run -> “Debug Configurations …”, sélectionnez “PHP Web Page” dans le menu de gauche, cliquez sur new + (ou dupliquez-en si j’en ai déjà un), puis sous Onglet Serveur, où est indiqué “PHP Server”, je clique sur “Nouveau” puis saisis l’URL du vhost pour la racine du document.

En ce moment, ma meilleure idée de ce qui a causé ceci est d’avoir deux projets dans le même espace de travail avec des vhosts différents sur la même adresse IP.

Eh bien, je débogue aussi deux projets, dans le même espace de travail Eclipse avec différents VHosts sur la même adresse IP et utilisent Apache.

Et je ne ressens pas vos problèmes.

Bien que mon apache et mon matériel se trouvent dans une émulation vmware de Debian et que mon Eclipse réside dans WinXP.

Meilleur

Raffael