View Issue Details

IDProjectCategoryView StatusLast Update
0002201XdebugStep Debuggingpublic2025-10-30 11:51
ReporterbbProg Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status feedbackResolutionopen 
PlatformNASOSDSM OS Version7.2-64570
Product Version3.1.2 
Summary0002201: Breakpoints turn unverfied and ignored when debugging on NAS/shared folder
Description

Hi, in short, I cannot make my VSCode to stop on breakpoints. During my last days of researching this theme I think I found a little bug and I also need a bit of support.

Possible bug: with xampp and xdebug installed locally, all is working as long as the files are on the local PC, also with C:\xampp\htdocs linked to folder on another drive with Directory Junction (mklink /j...). Breakpoints turn unverified and being ignored when the files are on a shred folder even when it's mapped and htdocs is linked with directory symbolic link to "\share\folder" (mklink /d...). Meaning, in VSCode, opening "W:\project_folder" - causes breakpoins to be ignored. Workaround I found: opening C:\xampp\htdocs\project_name which is linked ().

Steps To Reproduce

I believe I do not need to write it, but :)

  1. Install xampp on drive C.
  2. Move content of htdocs to \NAS\WebDev folder.
  3. delete/rename htdocs folder.
  4. Open cmd window as administartor and execute mklink /d "C:\xampp\htdocs" "\NAS\WebDev".
  5. Map \NAS\WebDev to drive letter, for exampe: W.
  6. In VSCode Open folder W:\project_name try to debug php code.
  7. In VSCode Open folder C:\xampp\WebDev\project_name try to debug php code.
Additional Information

Support: as you understand, I have my project files on Synology NAS and would like to be able to debug them with out the use of xampp.
Took me some time, but I figured out the xdebug configuration In Web Station under Script Language Service > core and set:

xdebug.client_host = my PC IP address.
xdebug.client_port = 9003
xdebug.mode = develop,debug
xdebug.start_with_request = yes
xdebug.discover_client_host = true

my launch.json file configuration:

"version": "0.2.0",
"configurations": [
    {
        "name": "Listen for Xdebug",
        "type": "php",
        "request": "launch",
        "hostname": "192.168.123.11",
        "port": 9003
    }
]

Debuggers starts, but on page load/refresh, all breakpoints turn unverified and being ignored.

Setting "hostname": "localhost" results with the folloing messages under Diagnostic Log:

[Step Debug] Could not connect to client host discovered through HTTP headers, connecting to configured address/port: 192.168.123.11:9003. :-|
[Step Debug] Time-out connecting to debugging client, waited: 200 ms. Tried: 192.168.123.11:9003 (from REMOTE_ADDR HTTP header), 192.168.123.11:9003 (fallback through xdebug.client_host/xdebug.client_port) :-(
Xdebug Version: 3.1.2
PHP Version: 8.0.28

Information next to the "zendĀ® engine" logo:

This program makes use of the Zend Scripting Language Engine:
Zend Engine v4.0.28, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.28, Copyright (c), by Zend Technologies
    with Xdebug v3.1.2, Copyright (c) 2002-2021, by Derick Rethans
Tagsnas, shared folder, unverfied breakpoints, xdebug
Operating SystemWindows 10 22H2
PHP Version8.0.20-8.0.29

Activities

derick

2023-09-14 17:08

administrator   ~0006653

I don't think there is a bug here, just that you haven't set up path mappings.

Xdebug only always sees what the Operating System tells it which file name is being debugged.

From your log, I see that is:

fileuri="file:///volume1/web/loomnest.com/index.php"

However, your IDE is setting breakpoints on the w:// share:

[17618] [Step Debug] <- breakpoint_set -i 7 -t line -f file:///w:/loomnest.com/index.php -n 2

Because these don't match, the breakpoints don't catch.

Probably the easiest here is to configure a pathMapping in your launch.json:

        {
            "name": "Listen for Xdebug",
            "type": "php",
            "request": "launch",
            "port": 9003,
            "pathMappings": {
                "//volume1/web/loomnest.com" : "w:/loomnest.com"
            },
        },

This tells the IDE to do the mapping for you when it sets breakpoints.

derick

2023-09-14 17:08

administrator   ~0006654

I don't know where the & quot; came from, these should be " of course.

bbProg

2023-09-17 12:53

reporter   ~0006655

Thank yo Derick, I suspected it might be due to some configuration, therefore I called it possible bug :)
I'm right now traveling and won't be able to check it till next week, will let you know if it worked.

derick

2025-10-30 11:51

administrator   ~0007382

Did you ever try this, and got things working?