1836 1560 1519 1858 1845 1762 1510 1758 1230 1301 1526 1039 1729 1973 1600 1132 1460 1923 1258 1627 1592 1522 1868 1111 1361 1695 1131 1140 1493 1455 1994 1062 1303 1197 1634 1788 1453 1857 1492 1584 1602 1173 1141 1695 1459 1257 1547 1988 1985 1307 1768 1679 1974 1016 1858 1753 1793 1964 1919 1073 1901 1973 1941 1823 1203 1895 1827 1239 1201 1469 1096 1497 1138 1222 1678 1267 1543 1772 1850 1888 1223 1581 1148 1772 1603 1326 1948 1849 1394 1655 1510 1756 1224 1712 1064 1466 1342 1410 1459 Xdebug Update: February 2022 | PHPnews.io


Xdebug Update: February 2022

Written by Derick Rethans / Original link on Mar. 8, 2022

Xdebug Update: February 2022

London, UK
Tuesday, March 8th 2022, 09:25 GMT

In this monthly update I explain what happened with Xdebug development in this past month. These are normally published on the first Tuesday after the 5th of each month.

Patreon and GitHub supporters will get it earlier, around the first of each month.

You can become a patron or support me through GitHub Sponsors. I am currently 46% towards my $2,500 per month goal. If you are leading a team or company, then it is also possible to support Xdebug through a subscription.

In February, I spend 26 hours on Xdebug, with 24 hours funded.

Releases and Development

As first task in February I released Xdebug 3.1.3 which addressed a bug with the debugging protocol's eval command and exceptions, an issue with the debugger generating invalid XML, and a memory leak and performance issue with tracing.

Since then I have worked on triaging and fixing a few more issues. These have currently not been merged due to changes in GitHub Action's Windows support. I expect that to be resolved by the time you read this.

Fixes include a crash while using closures and static properties, something that Symfony Cache seems to use a lot, some memory leaks, and an issue with the legacy XDEBUG_SESSION_START trigger. I expect Xdebug 3.1.4 to be released imminently.


In the previous update I wrote about what I had in mind for this coming year. From feedback to this communique, and a highly scientific Twitter poll I've decided to prioritise the following items:

  1. Creating an Xdebug Course: explaining in great detail how Xdebug works, how you use it, how you can get the most out of it, and many scenarios on how to set-up debugging in different environments. This needs to go beyond referential documentation pages, and will hence become a combined set of videos and tutorials, with examples and work-along exercises.

  2. Xdebug Recorder and Player: A new feature in Xdebug which would allow for a full request to be stored in a file, including every intermediate state. Combined with a player, which would allow for replaying the request and interrogating every variable at every point during the execution of said script, through the debugging protocol and interacting with your IDE. The recorded files would be self contained, without needing access to the (original) source code. Besides "step over" it would also have a "step back", and perhaps even a slider to slide back and forwards through time.

I have started making an outline for the Course, and a prototype for the Recorder and Player.

Let me know if you have ideas about which specific topics the Course should offer.

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.

If you want to be kept up to date with Xdebug Cloud, please sign up to the mailinglist, which I will use to send out an update not more than once a month.

Xdebug Videos

I have published one more video on how to use Xdebug on my YouTube channel.

Business Supporter Scheme and Funding

In February, no new business supporter signed up.

If you, or your company, would also like to support Xdebug, head over to the support page!

Besides business support, I also maintain a Patreon page and a profile on GitHub sponsors.


« Run ray(), dump(), and dd() From Any PHP Script - The Workshop: Testing with Pest Framework - php[architect] Magazine August 2021 »