Common DeBugGer Protocol as used by
Xdebug
Xdebug is a PHP extension which provides debugging and profiling capabilities. It uses the DBGp debugging protocol.
The debug information that Xdebug can provide includes the following:
* stack and function traces in error messages with:
:*full ...
and potentially other implementations. DBGp is a simple
protocol
Protocol may refer to:
Sociology and politics
* Protocol (politics), a formal agreement between nation states
* Protocol (diplomacy), the etiquette of diplomacy and affairs of state
* Etiquette, a code of personal behavior
Science and technology
...
for use with language tools and engines for the purpose of debugging applications.
The protocol provides a means of communication between a
debugger
A debugger or debugging tool is a computer program used to test and debug other programs (the "target" program). The main use of a debugger is to run the target program under controlled conditions that permit the programmer to track its execut ...
engine (scripting engine,
Virtual Machine
In computing, a virtual machine (VM) is the virtualization/ emulation of a computer system. Virtual machines are based on computer architectures and provide functionality of a physical computer. Their implementations may involve specialized har ...
, etc.) and a debugger
IDE.
Criticisms
DBGp has not received widespread adoption as a server protocol. Most implementations are client-side so that IDEs may be compatible specifically with Xdebug, which remains popular.
Criticisms have included:
* Performance (DBGp is a text-mode protocol)
* Security (DBGp has a complex connection mechanism that could lead to buggy vulnerable implementations)
* Generality (DBGp is designed to be compatible with multiple programming languages rather than being optimized for PHP)
A primary author of the DBGp specification has defended the design.
References
{{Reflist
Communications protocols
Debuggers