xdebug

Xdebug is a debugging and productivity extension for PHP


Xdebug and provides a range of features to improve the PHP development
experience.

Step Debugging
A way to step through your code in your IDE or editor while the script is
executing.

Improvements to PHP's error reporting
An improved var_dump() function, stack traces for Notices, Warnings, Errors
and Exceptions to highlight the code path to the error

Tracing
Writes every function call, with arguments and invocation location to disk.
Optionally also includes every variable assignment and return value for
each function.

Profiling
Allows you, with the help of visualisation tools, to analyse the
performance of your PHP application and find bottlenecks.

Code Coverage Analysis
To show which parts of your code base are executed when running unit tests
with PHP Unit.

License: Xdebug-1.03

Latest releases

Version Release Download
3.5.3 2026-06-08 xdebug-3.5.3.tgz
3.5.1 2026-02-03 xdebug-3.5.1.tgz
3.5.0 2025-12-04 xdebug-3.5.0.tgz
3.4.7 2025-10-26 xdebug-3.4.7.tgz
3.4.6 2025-10-06 xdebug-3.4.6.tgz
Show all releases

Changelog

Version Message
3.5.3 Mon, Jun 08, 2026 - Xdebug 3.5.3

= Fixed bugs:

- Fixed issue #2404: Xdebug outputs a message to stderr when path mapping is enabled, and a directory is present
- Fixed issue #2405: Handle minimum path in .xdebug directory discovery
- Fixed issue #2411: Native Path Mapping is not applied to the initial fileuri in the init packet
- Fixed issue #2421: Crash with wrong option letter in DBGP and socket commands
- Fixed issue #2422: No limit on DBGP read buffer
- Fixed issue #2423: Don't follow symlinks with file creation
- Fixed issue #2424: Control-socket buffer crashes
- Fixed issue #2426: xdebug_get_tracefile_name incorrectly throws notice
- Fixed issue #2427: Crash when file_link_format setting is wrong
- Fixed issue #2429: Crash when trace_output_name setting is wrong
- Fixed issue #2430: Variable fetching may crash with `::` if there is no active stack
- Fixed issue #2431: Crash when trying to retrieve Windows-style URL with not enough characters
- Fixed issue #2433: Refactor finding variable names in trace files with assignments
3.5.1 Tue, Feb 03, 2026 - Xdebug 3.5.1

= Fixed bugs:

- Fixed issue #2391: Code Coverage times out on random tests
- Fixed issue #2395: Severe performance degredation on Windows
- Fixed issue #2397: Very slow with Xdebug 3.5.0
3.5.0 Thu, Dec 04, 2025 - Xdebug 3.5.0

+ New features:

- Fixed issue #2338: Add experimental support for Windows Named Pipes control socket
- Fixed issue #2369: Implement "Native Xdebug Path Mapping" project
- Fixed issue #2370: PHP 8.5 support

+ Improvements:

- Fixed issue #2213: Expose __EXCEPTION virtual variable for current EG(exception)
- Fixed issue #2363: Add better debugging support for PHP 8.5's pipes
- Fixed issue #2345: DBGP's detach does not support base64 encoded strings

= Fixed bugs:

- Fixed issue #2335: Failed dbgp connection is not marked as not active
- Fixed issue #2336: Optimise xdebug_init_oparray
- Fixed issue #2337: Modify xdebug_add_stack_frame to always work on the passed execute_data
- Fixed issue #2367: Debugger should not break on return out of include files when return value debugger is enabled
- Fixed issue #2372: Build failed on MSVC
- Fixed issue #2374: Breakpoints in mapped paths don't trigger as they're mapped back before matching
- Fixed issue #2386: Crashes when running context_get in an exception thrown from an internal function
3.4.7 Sun, Oct 26, 2025 - Xdebug 3.4.7

= Fixed bugs:

- Fixed issue #2359: PHP 8.4 Lazy Ghost Object inoperable/defunct when Xdebug is enabled
- Fixed issue #2371: Step debugging initialize lazy objects
- Fixed issue #2375: Xdebug's exception trace conversion initialises lazy objects
3.4.6 Mon, Oct 06, 2025 - Xdebug 3.4.6

= Fixed bugs:

- Fixed issue #2328: Stream resource references in stored stack traces don't hold, and can cause crashes
- Fixed issue #2360: Debugging DateInterval (and other internal objects) causes a crash
Show complete changelog