View Issue Details

IDProjectCategoryView StatusLast Update
0002259XdebugStep Debuggingpublic2024-08-07 13:49
Reporterinfo@microteq.ch Assigned Toderick  
PrioritynormalSeveritymajorReproducibilityalways
Status feedbackResolutionopen 
Product Version3.3.1 
Summary0002259: Does not stop on breakpoints when files are located on a UNC path drive
Description

When the files to be debugged are located on an UNC drive like \NAS\xyz, instead of a local drive, the breakpoints are never hit and they are marked as unverified. Also using a network attached drive does not help, because the IIS file location configuration is set to the UNC drive.

Steps To Reproduce

Add a php project to VS Code and make a php file containing just the xdebug_info() function. Install PHP, Xdebug and IIS locally and the php file on a UNC drive like an NAS (\NAS\xyz). Add a Web site on IIS and let the virtual directory point to the UNC path to the NAS (\NAS\xyz). The set a breakpoint on the xdebug_info() an start xdebug. The breakpoint will be marked as unverified and will never be hit. If you do absoltely the same on a local drive like D:\xyz, everything works as expected.

Tagsbreakpoint, debug, UNC
Operating SystemWindows 10
PHP Version8.2.0-8.2.9

Activities

derick

2024-04-15 12:41

administrator   ~0006901

Please provide the information as is requested on https://xdebug.org/reporting-bugs#step-debugger — there is not enough information here to help me look at this issue.

info@microteq.ch

2024-04-15 18:57

reporter   ~0006916

Now here is the debug.log and the xdebug info.

If you need any more information, please let me know.

Many thanks and best regards.
Daniel

xdebug.log (3,235 bytes)   
[6440] Log opened at 2024-04-15 18:52:45.830565
[6440] [Step Debug] INFO: Connecting to configured address/port: 127.0.0.1:9003.
[6440] [Step Debug] ERR: Time-out connecting to debugging client, waited: 200 ms. Tried: 127.0.0.1:9003 (through xdebug.client_host/xdebug.client_port).
[6440] Log closed at 2024-04-15 18:52:46.317138

[21300] Log opened at 2024-04-15 18:53:09.794671
[21300] [Step Debug] INFO: Connecting to configured address/port: 127.0.0.1:9003.
[21300] [Step Debug] INFO: Connected to debugging client: 127.0.0.1:9003 (through xdebug.client_host/xdebug.client_port).
[21300] [Step Debug] -> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" fileuri="file://MAINSERVER/SHARED/xdebug-info.php" language="PHP" xdebug:language_version="8.3.4" protocol_version="1.0" appid="21300"><engine version="3.3.1"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[https://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2023 by Derick Rethans]]></copyright></init>

[21300] [Step Debug] <- feature_set -i 1 -n resolved_breakpoints -v 1
[21300] [Step Debug] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="1" feature="resolved_breakpoints" success="1"></response>

[21300] [Step Debug] <- feature_set -i 2 -n notify_ok -v 1
[21300] [Step Debug] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="2" feature="notify_ok" success="1"></response>

[21300] [Step Debug] <- feature_set -i 3 -n extended_properties -v 1
[21300] [Step Debug] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="3" feature="extended_properties" success="1"></response>

[21300] [Step Debug] <- feature_set -i 4 -n breakpoint_include_return_value -v 1
[21300] [Step Debug] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="4" feature="breakpoint_include_return_value" success="1"></response>

[21300] [Step Debug] <- feature_set -i 5 -n max_children -v 100
[21300] [Step Debug] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="5" feature="max_children" success="1"></response>

[21300] [Step Debug] <- breakpoint_set -i 6 -t line -f file://mainserver/shared/xdebug-info.php -n 3
[21300] [Step Debug] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="6" id="213000002" resolved="unresolved"></response>

[21300] [Step Debug] <- run -i 7
[21300] [Step Debug] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="run" transaction_id="7" status="stopping" reason="ok"></response>

[21300] [Step Debug] <- stop -i 8
[21300] [Step Debug] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="stop" transaction_id="8" status="stopped" reason="ok"></response>

[21300] Log closed at 2024-04-15 18:53:09.825985

xdebug.log (3,235 bytes)   
xdebug-info.pdf (941,231 bytes)

derick

2024-08-07 13:46

administrator   ~0007037

Hi,

Sorry for the uberslow reply.

Looking at the log, I see that your script file is seen as //MAINSERVER/SHARED/xdebug-info.php, but your IDE sets it as //mainserver/shared/xdebug-info.php (ie, lower cased). Xdebug does case-sensitive matching on these, I believe.

Can you try to:

  1. figure out if you can get your IDE to use uppercase letters for MAINSERVER and SHARED?
  2. create a similar log like you have, but then also with xdebug.log_level=11?

I wonder whether I need to relax this check to case-insensitive for the first two elements, if an UNC path is detected on Windows (you're on Windows, right)?

cheers,
Derick

derick

2024-08-07 13:49

administrator   ~0007038

Alternatively, you can perhaps also make a path mapping to work around this — either from //MAINSERVER/SHARED to //mainserver/shared (or the other way around, I can never remember).

Issue History

Date Modified Username Field Change
2024-04-04 13:11 info@microteq.ch New Issue
2024-04-04 13:11 info@microteq.ch Tag Attached: breakpoint
2024-04-04 13:11 info@microteq.ch Tag Attached: debug
2024-04-04 13:11 info@microteq.ch Tag Attached: UNC
2024-04-15 12:41 derick Assigned To => derick
2024-04-15 12:41 derick Status new => feedback
2024-04-15 12:41 derick Note Added: 0006901
2024-04-15 13:22 derick Priority immediate => normal
2024-04-15 18:57 info@microteq.ch Note Added: 0006916
2024-04-15 18:57 info@microteq.ch File Added: xdebug.log
2024-04-15 18:57 info@microteq.ch File Added: xdebug-info.pdf
2024-04-15 18:57 info@microteq.ch Status feedback => assigned
2024-08-07 13:46 derick Status assigned => feedback
2024-08-07 13:46 derick Note Added: 0007037
2024-08-07 13:49 derick Note Added: 0007038