Package Information |
Summary |
Xdebug is a debugging and productivity extension for PHP |
Maintainers |
Derick Rethans <
derick at php dot net >
(lead)
[wishlist]
[details]
|
License |
Xdebug-1.03 |
Description |
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. |
Homepage |
https://xdebug.org/
|
Release notes
Version 2.1.0beta1
(beta)
|
Sun, Jan 03, 2010 - xdebug 2.1.0beta1
+ Added features: - Added error display collection and suppressions. - Added the recording of headers being set in scripts. - Added variable assignment tracing. - Added the ability to turn of the default overriding of var_dump(). - Added "Scream" support, which disables the @ operator. - Added a trace-file analysing script. - Added support for debugging into phars. - Added a default xdebug.ini. (Patch by Martin SchuhfuÃ? <martins@spot-media.de>) - Added function parameters in computerized function traces. - PHP 5.3 compatibility. - Improved code coverage accuracy.
+ New functions: - xdebug_get_formatted_function_stack(), which returns a formatted function stack instead of displaying it. - xdebug_get_headers(), which returns all headers that have been set in a script, both explicitly with things like header(), but also implicitly for things like setcookie(). - 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.
+ New settings: - xdebug.collect_assignments, which enables the emitting of variable assignments in function traces. - xdebug.file_line_format, to generate a link with a specific format for every filename that Xdebug outputs. - xdebug.overload_var_dump, which allows you to turn off Xdebug's version of var_dump(). - xdebug.remote_cookie_expire_time, that controls the length of a remote debugging session. (Patch by Rick Pannen <pannen@gmail.com>) - xdebug.scream, which makes the @ operator to be ignored.
+ Changes: - Added return values for xdebug_start_code_coverage() and xdebug_stop_code_coverage() to indicate whether the action was succesfull. xdebug_start_code_coverage() will return TRUE if the call enabled code coverage, and FALSE if it was already enabled. xdebug_stop_code_coverage() will return FALSE when code coverage wasn't started yet and TRUE if it was turned on. - Added an optional argument to xdebug_print_function_stack() to display your own message. (Patch by Mikko Koppanen). - All HTML output as generated by Xdebug now has a HTML "class" attribute for easy CSS formatting.
- Removed features: - Support for PHP versions lower than PHP 5.1 have been dropped. - The PHP3 and GDB debugger engines have been removed.
= Fixed bugs: - Fixed support for showing $this in remote debugging sessions. - Fixed bug in formatting the display of "Variables in the local scope". - Possible fix for a threading issue where the headers gathering function would create stack overflows. - Possible fix for #324: xdebug_dump_superglobals() only dumps superglobals that were accessed before, and #478: XDebug 2.0.x can't use %R in xdebug.profiler_output_name if register_long_arrays is off.
- Fixed bug #505: %s in xdebug.trace_output_name breaks functions traces. - Fixed bug #494: Private attributes of parent class unavailable when inheriting. - Fixed bug #486: feature_get -n breakpoint_types returns out of date list. - Fixed bug #476: Xdebug doesn't support PHP 5.3's exception chaining. - Fixed bug #472: Dead Code Analysis for code coverage messed up after goto. - Fixed bug #470: Catch blocks marked as dead code unless executed. - Fixed bug #469: context_get for function variables always appear as "uninitialized". - Fixed bug #468: Property_get on $GLOBALS works only at top-level, by adding GLOBALS to the super globals context. - Fixed bug #453: Memory leaks. - Fixed bug #445: error_prepend_string and error_append_string are ignored by xdebug_error_cb. (Patch by Kent Davidson <kent@marketruler.com>) - Fixed bug #442: configure: error: "you have strange libedit". - Fixed bug #439: Xdebug crash in xdebug_header_handler. - Fixed bug #423: Conflicts with funcall. - Fixed bug #419: Make use of P_tmpdir if defined instead of hard coded '/tmp'. - Fixed bug #417: Response of context_get may lack page and pagesize attributes. - Fixed bug #411: Class/function breakpoint setting does not follow the specs. - Fixed bug #393: eval returns array data at the previous page request. - Fixed bug #391: Xdebug doesn't stop executing script on catchable fatal errors. - Fixed bug #389: Destructors called on fatal error. - Fixed bug #368: Xdebug's debugger bails out on a parse error with the eval command. - Fixed bug #356: Temporary breakpoints persist. - Fixed bug #355: Function numbers in trace files weren't unique. - Fixed bug #340: Segfault while throwing an Exception. - Fixed bug #328: Private properties are incorrectly enumerated in case of extended classes. - Fixed bug #249: Xdebug's error handler messes up with the SOAP extension's error handler.
+ DBGP: - Fixed cases where private properties where shown for objects, but not accessible. - Added a patch by Lucas Nealan (lucas@php.net) and Brian Shire (shire@php.net) of Facebook to allow connections to the initiating request's IP address for remote debugging. - Added the -p argument to the eval command as well, pending inclusion into DBGP. - Added the retrieval of a file's execution lines. I added a new un-official method called xcmd_get_executable_lines which requires the stack depth as argument (-d). You can only fetch this information for stack frames as it needs an available op-array which is only available when a function is executed. - Added a fake "CLASSNAME" property to objects that are returned in debug requests to facilitate deficiencies in IDEs that fail to show the "classname" XML attribute. |
|