<p>Derick was nice enough to <a href="https://github.com/xdebug/vscode-php-debug/issues/627">point</a> <a href="https://github.com/xdebug/vscode-php-debug/issues/628">out</a> that the soon-to-be-released PHP 8.1 and Xdebug 3.1.0 will need some protocol level adjustments. Since I develop on Windows, building PHP or Xdebug from source isn’t something I did recently. Lets see what we need to do.</p>
<p>This is a small writeup on the May 2021 release of VSCode PHP Debug adapter extension. A cover issue describing all work can be found on <a href="https://github.com/xdebug/vscode-php-debug/issues/575">GitHub issues</a>.</p>
<p>I am passionate about debugging and debuggers since, well, forever. When I started working with PHP many many years ago this was the one thing that truly bothered me - there was no “native” way to debug the code interactively. Then I discovered Xdebug.</p>
<p>On a nice May day, we spent a whole day going through Elastic APM Go Agent code, to try to figure out why it doesn’t log Spans, and all Transactions of a certain kind are just always not sampled.
Once again, because wrote our own Elastic APM PHP Agent, we got bit in the behind and spent a better part of the day WTF-ing through all the code, just to switch ONE BIT in the end, to solve the issue.</p>
<p>One of my projects the last few months was getting our own PHP framework to send
data to Elastic APM for performance logging and debugging. We decide on Elastic
APM since we already started using it for our Golang services and wanted a more
complete picture.</p>