Xdebug Update: May 2025
In this monthly update I explain what happened with Xdebug development.
GitHub and Pro/Business supporters will get it earlier, around the first of each month.
In the last month, I spend around 20 hours on Xdebug, with 22 hours funded.
My apologies for missing several monthly reports.
Xdebug 3.4
I spent most of my time this month fixing bugs, resulting in the release of Xdebug 3.4.3 on May 14th.
This bug fix fixes a few crashes, and also improves debugging with PHP 8.4's property hooks, by recognising that they have code attached, and no longer throwing fatal errors or exceptions in some situations.
However, it seems that I also might have introduced a new bug — or perhaps with different code, this bug now surfaced. Unfortunately, there is no reproducible case for this specific bug yet, which makes it nearly impossible for me to find and fix it.
Code Coverage with Fibers
In addition to this, due to a memory leak fix, it became apparent that Xdebug does not handle code coverage correctly, when Fibers are used.
Code coverage maintains a stack to remember which lines, branches, and paths have been executed. Once a function finishes, the stack element for it, including path information, gets freed. However, if after freeing code switches to a different Fiber, with a larger stack, the original stack frame's memory is still referenced, causing a crash.
The fix for this will need to include switch stacks, not just for normal PHP scripts as I already do, but also for the one that stores code coverage information. This is unfortunately not a simple task, and hence, it will take a while before I can make another bug fix release addressing this issue.
I hope to have that done by the end of the month.
Native Path Mapping
I have also continued to work on Native Path Mapping, and can now successfully debug templates right from within VS Code.
I have created a teaser video to show it working in a limited fashion.
It does not work yet with PhpStorm due to limitations in the IDE. I have filed a bug report which hopefully will get addressed soon.
More work is necessary, such as understand that some lines will not have code on them at all, and adding many more tests. I will also have to figure out ways to automatically create the source map as I did for the demo in the video.
Xdebug Videos
I have created one new video in the last month:
All Xdebug videos can be watched on my channel.
If you have any suggestions, feel free to reach out to me on Mastodon or via email.
Business Supporter Scheme and Funding
On GitHub sponsors, I am currently 40% towards my $2,500 per month goal, which is set to allow continued maintenance of Xdebug.
If you are leading a team or company, then it is also possible to support Xdebug through a subscription.
In the last month, no new business supporters signed up.
Besides business support, I also maintain a Patreon page, a profile on GitHub sponsors, as well as an OpenCollective organisation.
If you want to contribute to specific projects, you can find those on the Projects page.
Xdebug Cloud
Xdebug Cloud is the Proxy As A Service platform to allow for debugging in more scenarios, where it is hard, or impossible, to have Xdebug make a connection to the IDE. It is continuing to operate as Beta release.
Packages start at £49/month, and I have recently introduced a package for larger companies. This has a larger initial set of tokens, and discounted extra tokens.
If you want to be kept up to date with Xdebug Cloud, please sign up to the mailing list, which I will use to send out an update not more than once a month.
Life Line
Updated a waste_basket
Created 11 benches, 2 life_rings, and 3 other objects; Updated 8 benches and a waste_basket; Deleted a bench and a log; Confirmed a cafe
I walked 7.8km in 1h52m27s
Tomorrow we have elections in the UK!
Lots of local authorities, all London Councils, the Welsh Senedd, and the Scottish Parliament.
Don't forget to vote if you have the right.
I get to vote for myself again 😎.
Benches, and corrections for the QE II Gardens
Addresses on College Road
Created 2 main entrances and an entrance; Updated an entrance, a residential building, and a house building
Created an apartments building and a main entrance
I walked 9.5km in 2h21m10s
Created a waste_basket
I walked 6.6km in 1h13m23s
On my walk from Aylesbury to Princes Risborough I spotted a few new bird species. I didn't get all the best photos though!
A Common Buzzard, a Yellow Wagtail, a Greater White throat, and a Green Woodpecker.
#photography #Birds #BirdPhotogaphy #BirdsOfMastodon #nature #Buckinghamshire
Updated an alcohol shop
I walked 9.4km in 1h58m25s
Updated 2 benches
Created a bench; Updated a bench
I hiked 19.0km in 4h35m50s
I hiked 19.0km in 4h35m50s
I walked 6.8km in 1h15m36s
Updated an estate_agent office
I walked 4.1km in 55m33s
I walked 1.1km in 10m05s
My First Lapwing!
I went to the London Wetland Centre yesterday, for a day out in nature.
While hiding in a hide, this chap and a friend showed up starting to forage for grubs.
#BirdPhotography #BirdsOfMastodon #Photography #Birds #London #Nature
Created a waste_basket; Updated a cafe and a restaurant; Confirmed an estate_agent office
I walked 6.6km in 1h8m53s



Shortlink
This article has a short URL available: https://drck.me/xdebug-25may-jh1