Ho installato Xdebug 2.1 e in esecuzione con PHP 5.2.13. Può connettersi correttamente a più client DBGP (ad esempio, lo xdebug.remote_log
mostra la comunicazione avanti e indietro e anche i client stessi mostrano la connessione in ingresso), ma non si ferma ai punti di interruzione. Ho provato NetBeans, MacGDBp e anche la riga di comando debugclient
in bundle con Xdebug.Xdebug si connette correttamente ai client DBGP, ma non si fermerà ai punti di interruzione
Un tipico scambio assomiglia:
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 tenta di impostare punti di interruzione, e questi sono riconosciuti da 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>
Tuttavia, Xdebug rifiuta ancora di smettere!
Wow, questo mi ha davvero salvato dopo aver ottenuto un comportamento strano configurando il debug remoto con MacGDBP. Potevo vedere che le connessioni avevano successo con xdebug.remote_log, e il client stava ricevendo connessioni, ma le connessioni venivano rapidamente eliminate. Non c'era nemmeno uscita nel client. Modificato "extension = xdebug.so" come suggerito e boom tutto funziona magnificamente. – milesw
Lei ha fatto la mia giornata. Se potessi, vorrei revocare un migliaio di volte. – Bgi