Only break on breakpoints in MacGDBp? - php

MacGDBp has a setting called "Break on first line of execution", which I turned off.. but it doesn't seem to do anything. It still catches and breaks every single query, making it a useless app to use.
Does anyone use MacGDBp that knows a way around this? I'd love to make use of it, but at this point it's not worth it.
Thanks

I realize that this could be much more involved, but that sounds like what happens when you step through the code.
Which button are you clicking? The Continue button should jump to the next breakpoint.
I grabbed this from:
Debugging your PHP Code: XDebug on MAMP with TextMate and MacGDBp Support
From left to right, the buttons are:
Step into: Clicking this will advance the debugger one step and, if necessary, go "into" the function, class, file, etc. By clicking this button repeatedly, you can step through every part of the process.
Step out: This will move up a level. For example, if you are mid-way through a function and you step out, the debugger will advance to the next part of the code, skipping the remainder of the function.
Step Over (Skip): This will skip examining the next step. For example, if the current line is pointing to a function, and you do not want to see the function execute, you can skip it with this button. Clicking this will simply advance to the next line in the current scope.
Continue (Play): Continue execution until either the next breakpoint or the end of the script.
Reset: Remove the current debugging session and wait for the next request from the server.
Using these buttons, you can navigate through the execution of a script. While this will give you a detailed step-by-step analysis of a program as it executes, it can often be overkill. More often, you will want to analyze just a small part of your script. That is best accomplished with breakpoints.
A breakpoint is a marker that tells the debugger to pause when the location is reached. Using breakpoints, you can set the debugger to play through most of the code, pausing only when it gets to the portion of interest.
EDIT: February 26, 2012
Hi Naatan,
You could take a look at the xdebug logs by adding this line to your php.ini file:
xdebug.remote_log=/var/log/xdebug/xdebug.log
You can determine if MacGDBp is sending any breakpoints and if it's sending a run command or a step_into command.
Here is what I see for six different scenarios. I stripped out most of the data as it took a lot of space, let me know if you need to see data for a specific line.
1) "BREAK ON FIRST LINE OF EXECUTION" = OFF AND NO BREAKPOINTS
Log opened at 2012-02-26 22:27:47
-> <init
<- feature_set -i 2859 -n show_hidden -v 1
-> <response
<- feature_set -i 2860 -n max_depth -v 3
-> <response
<- feature_set -i 2861 -n max_children -v 30
-> <response
<- feature_get -i 2862 -n max_data
-> <response
<- eval -i 2863 --
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="eval" transaction_id="2863"><property address=
<- run -i 2864
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="run" transaction_id="2864" status="stopping" reason="ok"></response>
2) "BREAK ON FIRST LINE OF EXECUTION" = ON AND NO BREAKPOINTS
Log opened at 2012-02-26 22:35:39
-> <init
<- feature_set -i 2913 -n show_hidden -v 1
-> <response
<- feature_set -i 2914 -n max_depth -v 3
-> <response
<- feature_set -i 2915 -n max_children -v 30
-> <response
<- feature_get -i 2916 -n max_data
-> <response
<- eval -i 2917 --
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="eval" transaction_id="2917"><property address=
// 2a) STEP INTO CALLED BECAUSE "BREAK ON FIRST LINE OF EXECUTION" IS TURNED ON
<- step_into -i 2918
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="step_into" transaction_id="2918" status="break" reason="ok"><xdebug:message filename="file:///var/www/application/html/index.php" lineno="2"></xdebug:message></response>
<- stack_get -i 2919
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="stack_get" transaction_id="2919"><stack where="{main}" level="0" type="file" filename="file:///var/www/application/html/index.php" lineno="2"></stack></response>
<- context_names -i 2920
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="context_names" transaction_id="2920"><context name="Locals" id="0"></context><context name="Superglobals" id="1"></context></response>
<- context_get -i 2921 -c 0
-> <response xmlns= // SHOWS "Locals" VARIABLES
<- context_get -i 2922 -c 1
-> <response xmlns= // SHOWS "Superglobals" VARIABLES
// 2b) CLICK CONTINUE
<- run -i 2923
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="run" transaction_id="2923" status="stopping" reason="ok"></response>
3) "BREAK ON FIRST LINE OF EXECUTION" = ON, WITH BREAKPOINT ON FIRST LINE
Log opened at 2012-02-26 22:41:56
-> <init
<- feature_set -i 2936 -n show_hidden -v 1
-> <response
<- feature_set -i 2937 -n max_depth -v 3
-> <response
<- feature_set -i 2938 -n max_children -v 30
-> <response
<- feature_get -i 2939 -n max_data
-> <response
// 3a) LISTS ALL BREAKPOINTS THAT ARE SET
<- breakpoint_set -i 2940 -t line -s enabled -f file:///var/www/application/html/index.php -n 2
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="2940" state="enabled" id="179940003"></response>
<- eval -i 2941 --
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="eval" transaction_id="2941"><property address=
// 3b) STEP INTO CALLED BECAUSE "BREAK ON FIRST LINE OF EXECUTION" = ON
<- step_into -i 2942
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="step_into" transaction_id="2942" status="break" reason="ok"><xdebug:message filename="file:///var/www/application/html/index.php" lineno="2"></xdebug:message></response>
<- stack_get -i 2943
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="stack_get" transaction_id="2943"><stack where="{main}" level="0" type="file" filename="file:///var/www/application/html/index.php" lineno="2"></stack></response>
<- context_names -i 2944
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="context_names" transaction_id="2944"><context name="Locals" id="0"></context><context name="Superglobals" id="1"></context></response>
<- context_get -i 2945 -c 0
-> <response xmlns= // SHOWS "Locals" VARIABLES
<- context_get -i 2946 -c 1
-> <response xmlns= // SHOWS "Superglobals" VARIABLES
// 3c) CLICK CONTINUE
<- run -i 2947
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="run" transaction_id="2949" status="stopping" reason="ok"></response>
4) "BREAK ON FIRST LINE OF EXECUTION" = ON, WITH BREAKPOINT ON LINE 10
Log opened at 2012-02-27 00:29:26
-> <init
<- feature_set -i 3023 -n show_hidden -v 1
-> <response
<- feature_set -i 3024 -n max_depth -v 3
-> <response
<- feature_set -i 3025 -n max_children -v 30
-> <response
<- feature_get -i 3026 -n max_data
-> <response
// 4a) LISTS ALL BREAKPOINTS THAT ARE SET
<- breakpoint_set -i 3027 -t line -s enabled -f file:///var/www/application/html/index.php -n 10
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="3027" state="enabled" id="180020001"></response>
<- eval -i 3028 --
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="eval" transaction_id="3028"><property address=
// 4b) STEP INTO CALLED BECAUSE "BREAK ON FIRST LINE OF EXECUTION" = ON
<- step_into -i 3029
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="step_into" transaction_id="3029" status="break" reason="ok"><xdebug:message filename="file:///var/www/application/html/index.php" lineno="2"></xdebug:message></response>
<- stack_get -i 3030
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="stack_get" transaction_id="3030"><stack where="{main}" level="0" type="file" filename="file:///var/www/application/html/index.php" lineno="2"></stack></response>
<- context_names -i 3031
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="context_names" transaction_id="3031"><context name="Locals" id="0"></context><context name="Superglobals" id="1"></context></response>
<- context_get -i 3032 -c 0
-> <response xmlns= // SHOWS "Locals" VARIABLES
<- context_get -i 3033 -c 1
-> <response xmlns= // SHOWS "Superglobals" VARIABLES
// 4c) CLICK CONTINUE - GOES TO BREAKPOINT ON LINE 10
<- run -i 3034
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="run" transaction_id="3034" status="break" reason="ok"><xdebug:message filename="file:///var/www/application/html/index.php" lineno="10"></xdebug:message></response>
<- stack_get -i 3035
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="stack_get" transaction_id="3035"><stack where="{main}" level="0" type="file" filename="file:///var/www/application/html/index.php" lineno="10"></stack></response>
<- context_names -i 3036
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="context_names" transaction_id="3036"><context name="Locals" id="0"></context><context name="Superglobals" id="1"></context></response>
<- context_get -i 3037 -c 0
-> <response xmlns= // SHOWS "Locals" VARIABLES
<- context_get -i 3038 -c 1
-> <response xmlns= // SHOWS "Superglobals" VARIABLES
// 4d) CLICK CONTINUE
<- run -i 3039
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="run" transaction_id="2864" status="stopping" reason="ok"></response>
5) "BREAK ON FIRST LINE OF EXECUTION" = OFF, WITH BREAKPOINT ON FIRST LINE
Log opened at 2012-02-26 22:49:46
-> <init
<- feature_set -i 2962 -n show_hidden -v 1
-> <response
<- feature_set -i 2963 -n max_depth -v 3
-> <response
<- feature_set -i 2964 -n max_children -v 30
-> <response
<- feature_get -i 2965 -n max_data
-> <response
// 5a) LISTS ALL BREAKPOINTS THAT ARE SET
<- breakpoint_set -i 2966 -t line -s enabled -f file:///var/www/application/html/index.php -n 2
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="2966" state="enabled" id="180160005"></response>
<- eval -i 2967 --
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="eval" transaction_id="2967"><property address="140734566267920" type="string" size="77" encoding="base64"><![CDATA[aHR0cDovL2RldmVsb3BtZW50Lm1hcmluYXMuY29tL2luZGV4LnBocD9YREVCVUdfU0VTU0lPTl9TVEFSVD1uZXRiZWFucy14ZGVidWc=]]></property></response>
<- run -i 2968
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="run" transaction_id="2968" status="break" reason="ok"><xdebug:message filename="file:///var/www/application/html/index.php" lineno="2"></xdebug:message></response>
<- stack_get -i 2969
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="stack_get" transaction_id="2969"><stack where="{main}" level="0" type="file" filename="file:///var/www/application/html/index.php" lineno="2"></stack></response>
<- context_names -i 2970
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="context_names" transaction_id="2970"><context name="Locals" id="0"></context><context name="Superglobals" id="1"></context></response>
<- context_get -i 2971 -c 0
-> <response xmlns= // SHOWS "Locals" VARIABLES
<- context_get -i 2972 -c 1
-> <response xmlns= // SHOWS "Superglobals" VARIABLES
// 5b) CLICK CONTINUE
<- run -i 2973
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="run" transaction_id="2973" status="stopping" reason="ok"></response>
6) "BREAK ON FIRST LINE OF EXECUTION" = OFF, WITH BREAKPOINT ON LINE 10
Log opened at 2012-02-27 00:46:23
-> <init
<- feature_set -i 3052 -n show_hidden -v 1
-> <response
<- feature_set -i 3053 -n max_depth -v 3
-> <response
<- feature_set -i 3054 -n max_children -v 30
-> <response
<- feature_get -i 3055 -n max_data
-> <response
// 6a) LISTS ALL BREAKPOINTS THAT ARE SET
<- breakpoint_set -i 3056 -t line -s enabled -f file:///var/www/application/html/index.php -n 10
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="3056" state="enabled" id="179990006"></response>
<- eval -i 3057 --
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="eval" transaction_id="3057"><property address="140734566267920" type="string" size="77" encoding="base64"><![CDATA[aHR0cDovL2RldmVsb3BtZW50Lm1hcmluYXMuY29tL2luZGV4LnBocD9YREVCVUdfU0VTU0lPTl9TVEFSVD1uZXRiZWFucy14ZGVidWc=]]></property></response>
<- run -i 3058
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="run" transaction_id="3058" status="break" reason="ok"><xdebug:message filename="file:///var/www/application/html/index.php" lineno="10"></xdebug:message></response>
<- stack_get -i 3059
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="stack_get" transaction_id="3059"><stack where="{main}" level="0" type="file" filename="file:///var/www/application/html/index.php" lineno="10"></stack></response>
<- context_names -i 3060
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="context_names" transaction_id="3060"><context name="Locals" id="0"></context><context name="Superglobals" id="1"></context></response>
<- context_get -i 3061 -c 0
-> <response xmlns= // SHOWS "Locals" VARIABLES
<- context_get -i 3062 -c 1
-> <response xmlns= // SHOWS "Superglobals" VARIABLES
// 6b) CLICK CONTINUE
<- run -i 3063
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="run" transaction_id="3063" status="stopping" reason="ok"></response>
Be Well,
Joe

Related

Debugging local Symfony server doesn't work in all places

I'm using PhpStorm to run my Symfony application locally. In order to debug, I installed Xdebug as well as the corresponding helper extension for Chrome.
Debugging in general works. For example, if I put a breakpoint in the doDispatch() function inside of the Symfony class Symfony\Component\EventDispatcher and start my server, the breakpoint triggers and I can step through the code.
However, that very same breakpoint is being ignored, when I call the method through my own code. Any breakpoint I put into my own controllers/services isn't recognized either, even though there is a checkmark on the breakpoints once the server starts.
This is what I've added to my php.ini:
zend_extension = /usr/lib/php/modules/xdebug.so
xdebug.remote_autostart=1
xdebug.remote_connect_back=1
xdebug.remote_cookie_expire_time = 3600
xdebug.remote_enable = 0
xdebug.remote_host = localhost
xdebug.remote_port = 9000
xdebug.remote_handler = dbgp
This is my server output on startup:
/usr/bin/php -dxdebug.remote_enable=1 -dxdebug.remote_mode=req -dxdebug.remote_port=9000 -dxdebug.remote_host=127.0.0.1 /home/.../bin/console server:run
[OK] Server listening on http://127.0.0.1:8001
// Quit the server with CONTROL-C.
I've tried both localhost:8000 as well as 127.0.0.1:8001 for debugging, but both of them don't trigger my breakpoints.
FYI, I did start listening for PHP debug connections in PhpStorm and started debugging in the browser extension.
I'm using PHP version 7.3.1 and the newest beta version of Xdebug.
xdebug.log after hitting a route whose controller had a breakpoint in it:
[28601] Log opened at 2019-01-29 15:54:28
[28601] I: Checking remote connect back address.
[28601] I: Checking header 'HTTP_X_FORWARDED_FOR'.
[28601] I: Checking header 'REMOTE_ADDR'.
[28601] W: Remote address not found, connecting to configured address/port: 127.0.0.1:9000. :-|
[28601] I: Connected to client. :-)
[28601] -> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" fileuri="file:///home/.../bin/console" language="PHP" xdebug:language_version="7.3.1" protocol_version="1.0" appid="28601" idekey="11916"><engine version="2.7.0beta1"><![CDATA[Xd$
[28601]
[28601] <- feature_set -i 1 -n show_hidden -v 1
[28601] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="1" feature="show_hidden" success="1"></response>
[28601]
[28601] <- feature_set -i 2 -n max_depth -v 1
[28601] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="2" feature="max_depth" success="1"></response>
[28601]
[28601] <- feature_set -i 3 -n max_children -v 100
[28601] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="3" feature="max_children" success="1"></response>
[28601]
[28601] <- feature_set -i 4 -n extended_properties -v 1
[28601] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="4" feature="extended_properties" success="1"></response>
[28601]
[28601] <- status -i 5
[28601] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="status" transaction_id="5" status="starting" reason="ok"></response>
[28601]
[28601] <- step_into -i 6
[28601] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="step_into" transaction_id="6" status="break" reason="ok"><xdebug:message filename="file:///home/.../bin/console" lineno="9"></xdebug:message></response>
[28601]
[28601] <- breakpoint_set -i 7 -t line -f file:///home/.../src/Controller/HostController.php -n 30
[28601] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="7" id="286010001"></response>
[28601]
[28601] <- stack_get -i 8
[28601] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="stack_get" transaction_id="8"><stack where="{main}" level="0" type="file" filename="file:///home/.../bin/console" lineno="9"></stack></response>
[28601]
[28601] <- run -i 9

Eclipse not connecting to xdebug

I am unable to connect to xdebug from eclipse. Following is my xdebug config in php.ini
[xdebug]
zend_extension="/usr/local/opt/php56-xdebug/xdebug.so"
xdebug.remote_port=10000
xdebug.remote_enable=1
xdebug.remote_connect_back = On
xdebug.remote_host=127.0.0.1
xdebug.remote_log="/tmp/xdebug.log"
And i am getting following log in xdebug.log
Log opened at 2016-11-08 11:55:46
I: Checking remote connect back address.
I: Checking header 'HTTP_X_FORWARDED_FOR'.
I: Checking header 'REMOTE_ADDR'.
I: Remote address found, connecting to 127.0.0.1:10000.
I: Connected to client. :-)
-> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" fileuri="file:///Library/WebServer/Documents/akeneo/pim-community-standard/web/app.php" language="PHP" xdebug:language_version="5.6.24" protocol_version="1.0" appid="6191" idekey="ECLIPSE_DBGP"><engine version="2.4.1"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[http://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2016 by Derick Rethans]]></copyright></init>
<- feature_set -i 127 -n show_hidden -v 1
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="127" feature="show_hidden" success="1"></response>
<- feature_set -i 128 -n max_depth -v 3
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="128" feature="max_depth" success="1"></response>
<- feature_set -i 129 -n max_children -v 51
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="129" feature="max_children" success="1"></response>
<- feature_set -i 130 -n max_data -v 1024
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="130" feature="max_data" success="1"></response>
<- feature_get -i 131 -n encoding
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_get" transaction_id="131" feature_name="encoding" supported="1"><![CDATA[iso-8859-1]]></response>
<- feature_get -i 132 -n supports_async
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_get" transaction_id="132" feature_name="supports_async" supported="1"><![CDATA[0]]></response>
<- stdout -i 133 -c 1
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="stdout" transaction_id="133" success="1"></response>
<- stderr -i 134 -c 1
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="stderr" transaction_id="134" success="0"></response>
<- step_into -i 135
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="step_into" transaction_id="126" status="stopping" reason="ok"></response>
Log closed at 2016-11-08 11:55:46
I also have a big stream of data after this.
Eclipse is showing PHP Application (Waiting....)
What could be wrong here.

PHP debugging configuration

When trying to configure XDebug in XAMPP on OS X to connect back to PHPStorm receiving the following messages in the xdebug log and fails to stop at the breakpoint in PHPStorm. Any hints on what to try next?
Xdebug.log
Log opened at 2015-10-16 21:36:56
I: Checking remote connect back address.
I: Remote address found, connecting to ::1:9002.
I: Connected to client.
-> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" fileuri="file:///Applications/XAMPP/xamppfiles/htdocs/eatdata/app/php/crops/getCropTypes.php" language="PHP" protocol_version="1.0" appid="23586" idekey="PHPSTORM"><engine version="2.2.5"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[http://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2014 by Derick Rethans]]></copyright></init>
<- feature_set -i 1 -n show_hidden -v 1
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="1" feature="show_hidden" success="1"></response>
<- feature_set -i 2 -n max_depth -v 1
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="2" feature="max_depth" success="1"></response>
<- feature_set -i 3 -n max_children -v 100
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="3" feature="max_children" success="1"></response>
<- status -i 4
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="status" transaction_id="4" status="starting" reason="ok"></response>
<- step_into -i 5
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="step_into" transaction_id="5" status="stopping" reason="ok"></response>
<- breakpoint_set -i 6 -t line -f file:///Applications/XAMPP/xamppfiles/htdocs/eatdata/app/php/connect.php -n 71
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="6"><error code="5"><message><![CDATA[command is not available]]></message></error></response>
Believe this line in particular indicates the problem but not sure what exactly this message means.
<response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="6">
<error code="5">
<message><![CDATA[command is not available]]></message>
</error>
</response>
The "command is not available" line is likely there because you have a typo/syntax error somewhere in http://xdebug.org/dbgp/xdebug" fileuri="file:///Applications/XAMPP/xamppfiles/htdocs/eatdata/app/php/crops/getCropTypes.php - can you run php -l against it to find out?
I can also see a problem because of case-sensitivity in filenames. OS/PHP sometimes reports a different caseness for files than your editor expects. I see you are using version 2.2.5, and I would therefore suggest you upgrade to at least 2.3.0, as that has this issue fixed.

Vagrant, PhpStorm, HHVM and Xdebug

I'm having problems getting PhpStorm and the internal Xdebug in HHVM playing nicely on a vagrant box, below is my php.ini.
xdebug.enable=1
xdebug.remote_enable=1
xdebug.idekey="PHPSTORM"
xdebug.remote_host="10.0.2.2"
xdebug.remote_autostart=0
xdebug.remote_connect_back=1
PhpStorm is listening on Port 9000, if I remove all remote servers upon first run PhpStorm gives me the usual "Incoming Connection from Xdebug".
After I select the correct mapping and the first breakpoint is hit HHVM appears to hang before returning a 504 Gateway Time-out. If I remove the breakpoint then the load is instant, so clearly the PhpStorm and Xdebug appear to be communicating, but the debug window never shows any stack info / break point controls.
Does anyone have any pointers please, my thoughts are:
1) I need to open a port on the Vargrant box as communication is hanging somewhere
2) Bug in HHVM / PhpStorm (Unlikely)
I'm on Ubuntu 14.04, Vagrant 1.6.5
VM is also 14.04 with Nginx + HipHop VM 3.4.1, Extension API: 20140829
PhpStorm 8.0.2
I have now enabled logging on the vagrant box for Xdebug remote connections, this is the output....
Log opened at[2014-12-18 14:59:16]
I: Checking remote connect back address.
I: Remote address found, connecting to 192.168.56.1:9089.
I: Connected to client. :-)
-> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" fileuri="file:///var/www/public/index.php" language="PHP" protocol_version="1.0" appid="9660" idekey="PHPSTORM"><engine version=""><![CDATA[xdebug]]></engine><author><![CDATA[HHVM]]></author><url><![CDATA[http://hhvm.com/]]></url><copyright><![CDATA[Copyright (c) 2002-2013 by Derick Rethans]]></copyright></init>
<- feature_set -i 1 -n show_hidden -v 1
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="1" feature="show_hidden" success="1"></response>
<- feature_set -i 2 -n max_depth -v 1
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="2" feature="max_depth" success="1"></response>
<- feature_set -i 3 -n max_children -v 100
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="3" feature="max_children" success="1"></response>
<- status -i 4
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="status" transaction_id="4" status="starting" reason="ok"></response>
<- step_into -i 5
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" status="break" reason="ok" command="step_into" transaction_id="5"><xdebug:message lineno="12" filename="file:///var/www/public/index.php"></xdebug:message></response>
<- breakpoint_set -i 6 -t line -f file:///var/www/public/index.php -n 32
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="6" id="18" state="enabled"></response>
A very peculiar thing happens though, if I click the "Add method to skip list" button in PhpStorm, It continues communicating with XDebug as if stepping through variables, one with each click...
<- stack_get -i 8
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="stack_get" transaction_id="8"><stack where="{main}" level="0" type="file" filename="file:///var/www/public/index.php" lineno="12"></stack></response>
Eventually the expected controls are shown after several of these "stack_get" calls have been hackily stepped through in this manner.
Does anybody have any suggestions?
This issue has now been closed on github: https://github.com/facebook/hhvm/issues/4488

Netbeans Xdebug is not responding

I'm trying to debug my PHP code on my local machine. When I start to debug, script doesn't response any more.
Netbeans successfully handles the connection, xdebug logs shows that connection is established too. But browser is waiting busy.
I have tried Netbeans 7.2.1 and 7.4 and xdebug Version v2.1.0,v2.2.3 and v2.3.0dev
Do you have an advice?
Here is my configuration
zend_extension=/usr/lib/php5/20090626/xdebug_ready.so
xdebug.remote_host = 127.0.0.1 xdebug.remote_enable = 1
xdebug.remote_port = 9001 xdebug.remote_handler = dbgp
xdebug.remote_mode = req xdebug.profiler_enable=0
xdebug.profiler_enable_trigger=1 xdebug.remote_autostart=1
xdebug.idekey="netbeans-xdebug" xdebug.remote_log="/tmp/xdebug.log"
Here is the log :
Log opened at 2013-12-28 22:43:47 I: Connecting to configured
address/port: 127.0.0.1:9001. I: Connected to client. :-)
-> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug"
fileuri="file:///var/www/pnp/pnpdev/index.php"
language="PHP" protocol_version="1.0"
appid="22843"
idekey="netbeans-xdebug"><engine
version="2.3.0dev"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick
Rethans]]></author><url><![CDATA[http://xdebug.org]]></url><copyright><![CDATA[Copyright
(c) 2002-2013 by Derick Rethans]]></copyright></init>
<- feature_set -i 267 -n show_hıdden -v 1
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug"
command="feature_set" transaction_id="267"
status="starting" reason="ok"><error
code="3"><message><![CDATA[invalid or missing
options]]></message></error></response>
<- feature_set -i 268 -n max_depth -v 3
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug"
command="feature_set" transaction_id="268"
feature="max_depth"
success="1"></response>
<- feature_set -i 269 -n max_chıldren -v 30
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug"
command="feature_set" transaction_id="269"
status="starting" reason="ok"><error
code="3"><message><![CDATA[invalid or missing
options]]></message></error></response>
<- feature_set -i 270 -n max_data -v 2048
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug"
command="feature_set" transaction_id="270"
feature="max_data"
success="1"></response>
<- breakpoint_set -i 271 -t lıne -s enabled -f
file:///var/www/pnp/pnpdev/index.php -n 21
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug"
command="breakpoint_set" transaction_id="271"
state="enabled" id="0"></response>
<- run -i 272
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug"
command="run" transaction_id="272"
status="stopping" reason="ok"></response>
<- stop -i 273
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug"
command="stop" transaction_id="273"
status="stopped" reason="ok"></response>
Log closed at 2013-12-28 22:44:05
The log shows that Xdebug and netbeans are communicating. There is even a smiley face. For some odd reason, instead of sending "line", netbeans sends: "lıne" (&#305 is actually Å) which is not a valid type. Xdebug should reject that, but it seems to simply allow it and not raise an error. I filed a ticket for that: http://bugs.xdebug.org/view.php?id=1025
However, why netbeans is sending that, you'll have to ask the netbeans team (file a bug?!)

Categories