View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0000973||Xdebug||Uncategorized||public||2013-08-29 10:27||2015-02-22 14:30|
|OS||OS X||OS Version||10.6.8|
|Fixed in Version||2.3.0|
|Summary||0000973: Breakpoints not triggered on case-insensitive file systems in files autoloaded by spl_autoload|
Some file systems can be case insensitive, such as HFS+ under OS X (it can also be case sensitive, but insensitive is the default). XDebug treats file names as case sensitive when setting and triggering breakpoints, which can cause a breakpoint not to get triggered. For example, if a breakpoint is set using the cased version of a file name and the file is included by spl_autoload (or any autoloader that resolves to a lower-cased file name), the breakpoint won't trigger. This scenario happens with MacGDBp when adding a breakpoint from the "Breakpoint" window (as opposed to setting a breakpoint when stepping through an autoloaded file, in which case the lower-cased file name is used).
When it comes to controlling XDebug's case handling (however that would be achieved), testing the file system's case treatment may be tricky in general. A configuration option would be a perfectly acceptable way of making XDebug case sensitive or in-.
|Steps To Reproduce|
Note the status is "stopping", rather than "break", indicating the script has reached its end. If the file name is given as lower case in step 4, the breakpoint is triggered:
Tested on PHP 5.4.19+XDebug 2.2.3 and PHP 5.3.15+XDebug 2.2.1.
|Tags||No tags attached.|
I see why this is a problem, but as Xdebug does not have a way to know whether the FS is case-insensitive or not, there is not much I can do besides adding an option that a debugger IDE needs to set. As the DBGp protocol spec does not have such a feature (http://www.xdebug.org/docs-dbgp.php#feature-names) I can't really add this without breaking the spec.
How about a configuration setting (e.g. "xdebug.case_insensitive_fs")? If you're amenable, I could start work on the feature. I don't know much about xdebug's internals, but this seems relatively simple:
I have merged this. Thanks again for supplying the patch!
|2013-08-29 10:27||outis||New Issue|
|2014-02-27 18:57||derick||Note Added: 0002675|
|2014-03-03 00:12||outis||Note Added: 0002736|
|2015-01-14 22:29||derick||Note Added: 0002972|
|2015-01-14 22:29||derick||Status||new => closed|
|2015-01-14 22:29||derick||Assigned To||=> derick|
|2015-01-14 22:29||derick||Resolution||open => fixed|
|2015-01-14 22:29||derick||Fixed in Version||=> 2.3dev|
|2015-02-22 14:30||derick||Fixed in Version||2.3dev => 2.3.0|
|2016-07-31 12:36||derick||Category||Usage problems => Usage problems (Crashes)|
|2016-07-31 12:38||derick||Category||Usage problems (Crashes) => Usage problems (Wrong Results)|
|2020-03-12 16:35||derick||Category||Usage problems (Wrong Results) => Variable Display|
|2020-03-12 16:38||derick||Category||Variable Display => Uncategorized|