Tengo Xdebug 2.1 instalado, y corriendo con PHP 5.2.13. Se puede conectar con éxito a varios clientes DBGP (es decir, el xdebug.remote_log
muestra la comunicación de ida y vuelta, y los clientes mismos también muestran la conexión entrante), pero no se detiene en los puntos de interrupción. He intentado NetBeans, MacGDBp y también la línea de comandos debugclient
incluida con Xdebug.Xdebug se conecta con éxito a los clientes de DBGP, pero no se detendrá en los puntos de interrupción
Un intercambio típica se parece a:
Log opened at 2010-07-20 09:33:17
-> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" fileuri="file:///mnt/hgfs/htdocs/mycompany/index.php" language="PHP" protocol_version="1.0" appid="14371" idekey="macgdbp"><engine version="2.1.0"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[http://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2010 by Derick Rethans]]></copyright></init>
<- status -i macgdbp
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="status" transaction_id="macgdbp" status="starting" reason="ok"></response>
<- step_into -i macgdbp
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="step_into" transaction_id="macgdbp" status="stopping" reason="ok"></response>
<- status -i macgdbp
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="status" transaction_id="macgdbp" status="stopping" reason="ok"></response>
Log closed at 2010-07-20 09:33:18
NetBeans intenta establecer puntos de interrupción, y estos son reconocidos por Xdebug:
<- breakpoint_set -i 7 -t line -s enabled -f file:///mnt/hgfs/htdocs/mycompany/index.php -n 9
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="7" state="enabled" id="139360004"></response>
Sin embargo, Xdebug todavía se niega a parar!
Guau, esto realmente me salvó después de obtener un comportamiento extraño configurando la depuración remota con MacGDBP. Pude ver que las conexiones fueron exitosas en xdebug.remote_log, y el cliente estaba recibiendo conexiones, pero las conexiones se estaban descartando rápidamente. No hubo salida en el cliente tampoco. Cambió "extension = xdebug.so" como sugirió y todo funciona muy bien. – milesw
Usted señor hizo mi día. Si pudiera, votaría mil veces más. – Bgi