Xdebug 2.1
I've just released Xdebug 2.1. This new release contains all the bug fixes and new features that have been developed over the past three years. It provides full PHP 5.3 support, but it no longer supports PHP versions below 5.1.
A description of all the new features follows:
Error Collection
I've added xdebug_start_error_collection(), xdebug_stop_error_collection() and xdebug_get_collected_errors(), which allow you to collect all notices, warnings and error messages that Xdebug generates from PHP's error_reporting functionality so that you can output them at a later point in your script by hand.
Header Setting Interception
All functions that set HTTP headers such as with header() and setcookie() are now intercepted by Xdebug. The intercepted headers are stored internally in an array that can be retrieved by calling the xdebug_get_headers() function. This is very useful in cases where you need to test certain functionality that sets headers somewhere deep in code. This function is also used in eZ Components' test suite to test whether the correct HTTP headers are set in the MvcTools component.
Variable Assignment Tracing
The new setting xdebug.collect_assignments allows you to record changes to variables in scripts to trace files. I've already written more about it in Variable tracing with Xdebug.
"Scream" Support
The scream PECL extension disables the @ (shut-up) operator to actually see all notices, warnings and errors that PHP generates. The scream extension's functionality have been duplicated as Xdebug's xdebug.scream php.ini setting. Why disabling the @-operator is a good thing, I've already outlined in Five reasons why the shut-op operator (@) should be avoided.
Additions for Stack Traces
All HTML containers generated by Xdebug (error messages, xdebug_var_dump() output) now contain a CSS class for easier styling.
The new setting xdebug.file_link_format allows you to turn any file/line link in Xdebug's output to be decorated to a link with a specific format. For example you can set it to txmt://open/?file://%f&line=%l for opening files directly in Textmate, or gvim://%f@%l with some shell script for gvim and Firefox.
Remote Debugging
The new setting xdebug.remote_connect_back, contributed by Lucas Nealan and Brian Shire, allows Xdebug to try to make a debugging connection to the IP address from which the browser request came from. This setting is an additional solution for debugging with multiple users.
The old gdb and php3 remote debugging engines have been removed.
Overloaded var_dump
The newly introduced setting xdebug.overload_var_dump can be used to turn off Xdebug's default behavior of overriding PHP's var_dump() function with the xdebug_var_dump() function that uses pretty HTML for formatting a variable structure. It does not stop xdebug_var_dump() from working however.
Donations
You can probably imagine that writing and support Xdebug is a time-consuming effort. It's a tool that saves a lot of work during developement of applications, as well while debugging. If you think Xdebug is valuable for you, perhaps you would like to consider a donation. All donations are greatly appreciated and support future development and availablity of Xdebug.
If you want to sponsor a (new) feature in Xdebug, feel free to contact me as well.
Download and Support
The new version of Xdebug can be downloaded through the download page. A list with all changes can be found on the updates page. Support information can be found on the support page, and issues and feature requests can be filed in the bug tracker. Before asking for support, please have a look at the FAQ first.
Comments
Thanks Derick for this great software, the header/cookie interception could be very interesting.
Thanks!
Simply awesome!
Art
Wow, great new stuff! Thanks!
A critical tool in the PHP ecosystem. Thanks for all your work
Hi,
Just wondering how compatible this is with zend studio debugger? As that is what we're currently using within our development office.
It would be very nice to have both xdebug and zend debugger installed alongside each other.
I know you wrote a patch file for it (http://www.suspekt.org/2008/08/04/xdebug-203-stealth-patch/), but that was for version 2.0.3? Would the patch still be applicable to this latest release?
Life Line
Great Egret Has Caught a Fish
A bit in the distance, but the first time a got a reasonable shot of a Great Egret at WWT Arundel. It had caught a fish, which it then proceeded to eat. I love its green eye. Hopefully I get to see it a bit closer at some point.
#photography #Birds #BirdPhotography #BirdsOfFediverse #NaturePhotography #wildlife #wwt #Arundel
Taking Off
This Black-headed gull had been bobbing around for a bit, but decided to circle around. Caught it just at the right time at WWT Arundel.
#photography #Birds #BirdPhotography #BirdsOfFediverse #NaturePhotography #wildlife #Arundel #WWT
I hiked 6.6km in 5h47m41s
A Juvenile Great Crested Grebe Having Lunch
There are a few adults with chicks in the Serpentine in London's Hyde Park. This chick was having no problem with the fish its parent caught.
#photography #Birds #BirdPhotography #BirdsOfFediverse #NaturePhotography #wildlife #london
I walked 6.8km in 1h4m56s
Stonechat on a Branch
This lovely male Stonechat perched up quite nicely for me on a branch at Staines Moor.
#photography #Birds #BirdPhotography #BirdsOfFediverse #NaturePhotography #wildlife
I walked 1.4km in 34m31s
Merge branch 'v2022'
Update data to 2026f
Updated a building
Specify cycleways width
Survey if vacant places are still vacant
Specify whether places take fees to visit
Specify maximum allowed weights
Specify whether pedestrian crossings have islands
Specify whether kerbs have tactile paving
Determine the heights of kerbs
Specify street/place names to addresses
Survey housenumbers
Specify whether there are crossings at intersections of paths and roads
Specify whether traffic signals have sound signals
Specify whether traffic signals have tactile indications that it's safe to cross
Specify whether public transport stops have tactile paving
Specify whether public transport stops have bins
Specify path surfaces





Shortlink
This article has a short URL available: https://drck.me/xdebug-2.1-7x2