All breakpoints ignored

Hi,

I'm trying to debug Wordpress theme and plugin with PhpStorm, MAMP + XDebug.

I've started debugging through zero-configuration debugging, but all breakpoints are ignored with following message:

Debug session was finished without being paused
It may be caused by path mappings misconfiguration or not synchronized local and remote projects.
To figure out the problem check path mappings configuration for 'default' server at PHP|Servers or enable Break at first line in PHP scripts option (from Run menu).

The odd thing is that ONLY breakpoint set on very first line of Wordpress project (on index.php) works correctly but all another breakpoints set to another files are ignored.

Any ideas?

6 comments

 Hi,

Yes, I did.

BTW, I use virtual host on MAMP.

0

Hi there,

Please collect and provide xdebug log for such unsuccessful debug session

http://xdebug.org/docs/all_settings#remote_log

 

>The odd thing is that ONLY breakpoint set on very first line of Wordpress project (on index.php) works correctly but all another breakpoints set to another files are ignored

There is an option to break at first line if file is outside of the project or not mapped at all -- most likely it is in effect (otherwise you would not see stopping at all).

0

Hi Andriy,

Here's the log.

BTW, I've tried Netbeans with MAMP and existing WP installation, debugging works well with very simple configuration.

--

Log opened at 2016-04-05 23:01:54
I: Connecting to configured address/port: cocotama.com:9000.
I: Connected to client. :-)
-> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" fileuri="file:///Users/isao/Documents/websites/cocotama.com/index.php" language="PHP" protocol_version="1.0" appid="916" idekey="PHPSTORM"><engine version="2.2.3"><![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 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="break" reason="ok"><xdebug:message filename="file:///Users/isao/Documents/websites/cocotama.com/index.php" lineno="14"></xdebug:message></response>

<- eval -i 6 -- aXNzZXQoJF9TRVJWRVJbJ1BIUF9JREVfQ09ORklHJ10p
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="eval" transaction_id="6"><property address="140734799797240" type="bool"><![CDATA[0]]></property></response>

<- eval -i 7 -- aXNzZXQoJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10p
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="eval" transaction_id="7"><property address="140734799797240" type="bool"><![CDATA[1]]></property></response>

<- eval -i 8 -- KHN0cmluZykoJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10p
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="eval" transaction_id="8"><property address="140734799797240" type="string" size="12" encoding="base64"><![CDATA[Y29jb3RhbWEuY29t]]></property></response>

<- eval -i 9 -- KHN0cmluZykoJF9TRVJWRVJbJ1NFUlZFUl9QT1JUJ10p
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="eval" transaction_id="9"><property address="140734799797240" type="string" size="2" encoding="base64"><![CDATA[ODA=]]></property></response>

<- eval -i 10 -- KHN0cmluZykoJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ10p
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="eval" transaction_id="10"><property address="140734799797240" type="string" size="87" encoding="base64"><![CDATA[L2xvZ2luLz9yZWRpcmVjdF90bz0lMkZoZWxpbyUyRndwLWNvbnRlbnQlMkZ1cGxvYWRzJTJGMjAxNSUyRjEyJTJGbWFpbG1nLTYuanBnJnJlYXV0aD0x]]></property></response>

<- breakpoint_set -i 11 -t line -f file:///Users/isao/Documents/Websites/cocotama.com/wp-blog-header.php -n 10
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="11" id="9160002"></response>

<- stack_get -i 12
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="stack_get" transaction_id="12"><stack where="{main}" level="0" type="file" filename="file:///Users/isao/Documents/websites/cocotama.com/index.php" lineno="14"></stack></response>

<- run -i 13
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="run" transaction_id="13" status="stopping" reason="ok"></response>

<- run -i 14
Log closed at 2016-04-05 23:01:56

0

Thanks or the log. The reason is pretty visible to me.

IDE sees you files are they are located in "Websites" folder while xdebug sees them in "websites" (notice the small "w"):

  • /Users/isao/Documents/Websites/cocotama.com/wp-blog-header.php
  • /Users/isao/Documents/websites/cocotama.com/index.php

Your options:

1. Update your xdebug to a newer version -- it has special fix/workaround for such cases there -- use xdebug 2.3.2 instead of your current 2.2.3 (it's fixed in 2.3.0 --- see https://xdebug.org/updates.php#x_2_3_0 CHANGES subsection: "Implemented bug #973: Use case-insensitive filename comparison on all systems (Galen Wright-Watson)")

You should use newer xdebug in any case as it has other fixes for other situations as well as some new features.

2. Use proper (real) letter capitalisation in Path Mappings section from your screenshot -- use "websites" instead of "Websites"

3. Actually fix the capitalisation for that folder at FS level. It's a Mac specific issue -- Finder and actual terminal most likely will show you the "Websites" in "/Users/isao/Documents/" in different capitalisation. My guess is that you have created that folder as "websites" originally and then renamed to "Websites" in Finder.

Solution: rename that folder again -- first change it to a different word (e.g. "abc" or even "Websites123") and then rename it again to "Websites"

 

Why it worked fine in Netbeans (assuming that you were using the same project for your tests)? Most likely Netbeans either has workaround for this Mac-specific nuance, or uses different "provider" to get the full file names .. or may simply compare file paths using case-insensitive routine (which is kind of wrong on case-sensitive FS)

0

Hi Andriy, sorry for late reply.

Thanks for detailed information.

I've tried 3, didn't work, so I've upgraded Xdebug to 2.4, now all breakpoints works!

I'll switch back to PHPStorm from Netbeans, continue evaluation.

Info about Mac specific issue was very helpful, too. 

Thanks again for your support.

Isao

0

Please sign in to leave a comment.