xdebug
{{short description|PHP extension used for debugging and profiling}}
{{Infobox software
| name = Xdebug
| logo = Xdebug Logo.svg
| screenshot = Wikimedia Commons fatal error allowed memory size exhausted.png
| caption = An Xdebug error message on Wikimedia Commons
| collapsible =
| author =
| developer = Derick Rethans
| released = {{Start date|2002|05|08}}{{cite web |last1=Rethans |first1=Derick |title=Release version 0.7.0 |url=https://github.com/xdebug/xdebug/commit/0a74080d50f6d95ed2ba1a9287bd1318d582cffa |website=github |access-date=16 May 2020}}
| programming language = C
| operating system =
| platform =
| size =
| language = English
| genre = Debugger
| license = Permissive license, derived from the MIT license
| website = {{URL|https://xdebug.org}}
| latest release version = 3.2.1
| latest release date = {{Start date and age|2023|03|21}}
}}
File:Compd 002 xdebug.svg component diagram for Xdebug and PHP, integrated via the browser and an IDE]]
Xdebug is a PHP extension which provides debugging and profiling capabilities.{{cite book
| last = McArthur
| first = Kevin
| title = Pro PHP: Patterns, Frameworks, Testing and More
| url = https://archive.org/details/prophppatternsfr00mcar_909
| url-access = limited
| date = 2008-03-24
| publisher = Apress
| location = New York City, New York
| isbn = 978-1-59059-819-1
| pages = [https://archive.org/details/prophppatternsfr00mcar_909/page/n11 120] – 124
| chapter = Testing, Development, and Continuous Integration
}} It uses the DBGp debugging protocol.
The debug information that Xdebug can provide includes the following:
- stack and function traces in error messages{{cite book
| last1 = Sklar
| first1 = David
| last2 = Trachtenberg
| first2 = Adam
| title = PHP Cookbook
| edition = 2nd
| date = 2009-05-11
| publisher = O'Reilly Media
| location = Sebastopol, CA
| isbn = 978-0-596-10101-5
| page = 618 – 619
| chapter = Error Handling, Debugging, and Testing
}} with:
:*full parameter display for user defined functions
:*function name, file name and line indications
:*support for member functions
- memory allocation
- protection for infinite recursions
Xdebug also provides:
- profiling information for PHP scripts{{cite book |last = Henderson
|first = Cal
|title = Building Scalable Web Sites
|chapter-url = https://archive.org/details/buildingscalable0000hend/page/170
|chapter-url-access = registration
|date = 2006-05-16
|publisher = O'Reilly Media
|location = Sebastopol, CA
|isbn = 0-596-10235-6
|pages = [https://archive.org/details/buildingscalable0000hend/page/170 170 – 171]
|chapter = Bottlenecks
}}
- code coverage analysis
- capabilities to debug your scripts interactively with a debugger front-end.{{cite book
| last1 = Masters
| first1 = Jon
| last2 = Blum
| first2 = Richard
| title = Professional Linux Programming
| date = 2007-03-12
| publisher = John Wiley & Sons
| location = Hoboken, New Jersey
| isbn = 978-0-471-77613-0
| page = 426
| chapter = LAMP
}}
Xdebug is also available via the PECL.{{cite book
| last1 = Gerner
| first1 = Jason
| last2 = Naramore
| first2 = Elizabeth
| last3 = Owens
| first3 = Morgan L.
| last4 = Warden
| first4 = Matt
| editor-last = Gerner
| editor-first = Jason
| title = Professional LAMP: Linux, Apache, MySQL and PHP Web Development
| url = https://archive.org/details/professionallamp00gern_474
| url-access = limited
| date = 2005-12-05
| publisher = John Wiley & Sons
| location = Hoboken, New Jersey
| isbn = 0-7645-9723-X
| page = [https://archive.org/details/professionallamp00gern_474/page/n223 197]
| chapter = PEAR and PECL
}}
See also
{{Portal|Free and open-source software}}
- Debugger
- Dynamic program analysis
- Software performance analysis
- Optimization
- DBG (another open source PHP debugger)
- Zend Studio (the Zend Debugger is an alternative to Xdebug)
References
{{Reflist}}
External links
- {{Official website|http://www.xdebug.org/}}
- [http://pecl.php.net/package/Xdebug Xdebug] in PECL
- [https://web.archive.org/web/20130813173016/http://php-recognizer.ru/en Xdebug trace log visualization tool]
Category:Free software programmed in C
Category:Cross-platform free software
{{Compu-prog-stub}}