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.3.2 2024-04-15 xdebug-3.3.2.tgz
3.3.1 2023-12-14 xdebug-3.3.1.tgz
3.3.0 2023-11-30 xdebug-3.3.0.tgz
3.3.0alpha3 2023-10-19 xdebug-3.3.0alpha3.tgz
3.3.0alpha2 2023-09-06 xdebug-3.3.0alpha2.tgz
Show all releases

Changelog

Version Message
3.3.2 Mon, Apr 15, 2024 - Xdebug 3.3.2

= Fixed bugs:

- Fixed issue #2216: With PHP8.3 and Apache 2.4.58 error_reporting() causing Apache process to hang
- Fixed issue #2230: Crash when xdebug and blackfire extensions are active
- Fixed issue #2233: High and continuous Apache server CPU use
3.3.1 Thu, Dec 14, 2023 - Xdebug 3.3.1

= Fixed bugs:

- Fixed issue #2220: Test failure
- Fixed issue #2221: Crash when other extensions run PHP code without the stack being initialised yet
- Fixed issue #2223: Xdebug's constants are not available with `xdebug.mode=off`
- Fixed issue #2226: xdebug_get_function_stack(['from_exception']) does not always find stored trace
- Fixed issue #2227: Crash with return value and observers
- Fixed issue #2228: Return value can not be fetched with property_get if top frame is an internal function
3.3.0 Thu, Nov 30, 2023 - Xdebug 3.3.0

+ New features:

- Fixed issue #2171: Support for PHP 8.3
- Fixed issue #1732: Add support for flame graph outputs
- Fixed issue #2219: Add control socket on Linux to obtain information and initiate debugger or breakpoint
- Fixed issue #1562: Add 'local_vars' option to 'xdebug_get_function_stack' to include variables for each st
- Fixed issue #2194: Add 'params_as_values' option to 'xdebug_get_function_stack' to return data as values
- Fixed issue #2195: Add 'from_exception' option to 'xdebug_get_function_stack' to return the stack trace where an exception was thrown

+ Improvements:

- Fixed issue #2077: Bring back xdebug.collect_params
- Fixed issue #2170: Show contents of Spl's ArrayIterator
- Fixed issue #2172: Show contents of SplDoublyLinkedList and SplPriorityQueue
- Fixed issue #2183: Bubble up exception message when using code evalution through protocol
- Fixed issue #2188: Step over with fibers does still step into fiber routines
- Fixed issue #2197: Add time index and memory to output of xdebug_get_function_stack
- Fixed issue #2203: Increase default max nesting time out from 256 to 512
- Fixed issue #2206: Optimise debugger breakpoints checking
- Fixed issue #2207: Add filenames for include and friends to flamegraph output
- Fixed issue #2217: xdebug://gateway pseudo host does not support IPv6

= Fixed bugs:

- Fixed issue #450: "Incomplete" backtraces when an exception gets rethrown
- Fixed issue #476: Exception chaining does not work properly
- Fixed issue #1155: Local variables are not shown when execution break in error_handler
- Fixed issue #2000: Debugger evaluate expression: "can't evaluate expression"
- Fixed issue #2027: Branch/path code coverage for traits drops trait name since 3.1.0
- Fixed issue #2132: Errors when mountinfo does not have enough information for finding systemd private tmp directory
- Fixed issue #2200: PECL package file has wrong max PHP version number, and peclweb refuses the package
- Fixed issue #2208: Superfluous `...` (three omission dots) in var_dump()
- Fixed issue #2210: Flamegraphs crash when using `start_with_request`
- Fixed issue #2211: File wrappers get wrong filename location in stack.
- Fixed issue #2214: Array keys aren't escaped in traces
3.3.0alpha3 Thu, Oct 19, 2023 - Xdebug 3.3.0alpha3

= Fixed bugs:

- Fixed issue #1732: Add support for flame graph outputs
- Fixed issue #2000: Debugger evaluate expression: "can't evaluate expression"
- Fixed issue #2077: Bring back xdebug.collect_params
- Fixed issue #2203: Increase default max nesting time out from 256 to 512
- Fixed issue #2206: Optimise debugger breakpoints checking
3.3.0alpha2 Wed, Sep 06, 2023 - Xdebug 3.3.0alpha2

= Fixed bugs:

- Fixed issue #2200: PECL package file has wrong max PHP version number, and peclweb refuses the package
Show complete changelog