
It turned out that there are a number of invalid inputs that happened to be produced by this command:. This feature is implemented by passing the eval((string)expression) command at the start of debug sessions. In 2022.2 We’ve implemented feature WI-56517 that shows _toString representation of the object in the debug panel. This bug was fixed in 3.1, but present in all previous versions. Xdebug had a bug that basically breaks further ‘ step_over‘ commands by passing invalid eval commands. However, in Xdebug 3.0 and below, some types of code break the debugger’s internal state and lead to an incorrect step over.īelow is a technical summary of the issue for those who are curious about what happened: It works fine in Xdebug 3.1+ since it has a special handler that mutes possible errors. In PhpStorm 2022.2, we’ve implemented WI-56517 Display _toString() representation on an object in the debug Variables pane if the method is present.Īs it turned out, in some cases, the debugger has a weird presentation of objects on eval((string)).
Post-mortem for broken debugging in PhpStorm 2022.2
Read on to see a detailed post-mortem of the issue. It brings a fixed for a broken step over in debugger. A preview build for PhpStorm 2022.2.1, the upcoming minor release of PhpStorm, is now available.