xdebug 2.0.0RC1

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

Changes

+ Added new features:
- Implemented FR #70: Provide optional depth on xdebug_call_* functions.
- Partially implemented FR #50: Resource limiting for variable display. By
default only two levels of nested variables and max string lengths of 512
are shown. This can be changed by setting the ini settings
xdebug.var_display_max_depth and xdebug.var_display_max_data.
- Implemented breakpoints for different types of PHP errors. You can now
set an 'exception' breakpoint on "Fatal error", "Warning", "Notice" etc.
This is related to bug #187.
- Added the xdebug_print_function_trace() function to display a stack trace on
demand.
- Reintroduce HTML tracing by adding a new tracing option "XDEBUG_TRACE_HTML"
(4).
- Made xdebug_stop_trace() return the trace file name, so that the
following works:
- Added the xdebug.collect_vars setting to tell Xdebug to collect
information about which variables are used in a scope. Now you don't need
to show variables with xdebug.show_local_vars anymore for
xdebug_get_declared_vars() to work.
- Make the filename parameter to the xdebug_start_trace() function
optional. If left empty it will use the same algorithm to pick a filename
as when you are using the xdebug.auto_trace setting.

+ Changes:
- Implemented dead code analysis during code coverage for:
* abstract methods.
* dead code after return, throw and exit.
* implicit returns when a normal return is present.
- Improved readability of stack traces.
- Use PG(html_errors) instead of checking whether we run with CLI when
deciding when to use HTML messages or plain text messages.

= Fixed bugs:
- Fixed bug #203: PHP errors with HTML content processed incorrectly. This
patch backs out the change that was made to fix bug #182.
- Fixed bug #198: Segfault when trying to use a non-existing debug handler.
- Fixed bug #197: Race condition fixes created too many files.
- Fixed bug #196: Profile timing on Windows does not work.
- Fixed bug #195: CLI Error after debugging session.
- Fixed bug #193: Compile problems with PHP 5.2.
- Fixed bug #191: File/line breakpoints are case-sensitive on Windows.
- Fixed bug #181: Xdebug doesn't handle uncaught exception output
correctly.
- Fixed bug #173: Coverage produces wrong coverage.
- Fixed a typo that prevented the XDEBUG_CONFIG option "profiler_enable"
from working.