DBGp

Last updated

Common DeBugGer Protocol as used by Xdebug [1] and potentially other implementations. DBGp is a simple protocol for use with language tools and engines for the purpose of debugging applications. [2] The protocol provides a means of communication between a debugger engine (scripting engine, Virtual Machine, etc.) and a debugger IDE.

Xdebug

Xdebug is a PHP extension which provides debugging and profiling capabilities. It uses the DBGp debugging protocol.

This is a list of articles that list different types or classifications of communication protocols used in computer networks.

Debugger A computer program

A debugger or debugging tool is a computer program that is used to test and debug other programs. The code to be examined might alternatively be running on an instruction set simulator (ISS), a technique that allows great power in its ability to halt when specific conditions are encountered, but which will typically be somewhat slower than executing the code directly on the appropriate processor. Some debuggers offer two modes of operation, full or partial simulation, to limit this impact.

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: [3] [4]

A primary author of the DBGp specification has defended the design. [5]

Related Research Articles

Integrated development environment software application used to develop software

An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of a source code editor, build automation tools, and a debugger. Most of the modern IDEs have intelligent code completion. Some IDEs, such as NetBeans and Eclipse, contain a compiler, interpreter, or both; others, such as SharpDevelop and Lazarus, do not. The boundary between an integrated development environment and other parts of the broader software development environment is not well-defined. Sometimes a version control system, or various tools to simplify the construction of a graphical user interface (GUI), are integrated. Many modern IDEs also have a class browser, an object browser, and a class hierarchy diagram, for use in object-oriented software development.

Quanta Plus

Quanta Plus, originally called Quanta, is a web Integrated development environment (IDE) for HTML, XHTML, CSS, XML, PHP and any other XML-based languages or scripting languages. Quanta was licensed under GPL before the release of version 2.0 final.

Eclipse (software) Java software development environment

Eclipse is an integrated development environment (IDE) used in computer programming, and is the most widely used Java IDE. It contains a base workspace and an extensible plug-in system for customizing the environment. Eclipse is written mostly in Java and its primary use is for developing Java applications, but it may also be used to develop applications in other programming languages via plug-ins, including Ada, ABAP, C, C++, C#, Clojure, COBOL, D, Erlang, Fortran, Groovy, Haskell, JavaScript, Julia, Lasso, Lua, NATURAL, Perl, PHP, Prolog, Python, R, Ruby, Rust, Scala, and Scheme. It can also be used to develop documents with LaTeX and packages for the software Mathematica. Development environments include the Eclipse Java development tools (JDT) for Java and Scala, Eclipse CDT for C/C++, and Eclipse PDT for PHP, among others.

Delphi is an integrated development environment (IDE) for rapid application development of desktop, mobile, web, and console software, developed by Embarcadero Technologies. It is also an event-driven language. Delphi's compilers use their own Object Pascal dialect of Pascal and generate native code for Microsoft Windows, macOS, iOS, Android and Linux. Since 2016, there have been new releases of Delphi every six months, with new platforms being added approximately every second release.

A programming tool or software development tool is a computer program that software developers use to create, debug, maintain, or otherwise support other programs and applications. The term usually refers to relatively simple programs, that can be combined together to accomplish a task, much as one might use multiple hand tools to fix a physical object. The most basic tools are a source code editor and a compiler or interpreter, which are used ubiquitously and continuously. Other tools are used more or less depending on the language, development methodology, and individual engineer, and are often used for a discrete task, like a debugger or profiler. Tools may be discrete programs, executed separately – often from the command line – or may be parts of a single large program, called an integrated development environment (IDE). In many cases, particularly for simpler use, simple ad hoc techniques are used instead of a tool, such as print debugging instead of using a debugger, manual timing instead of a profiler, or tracking bugs in a text file or spreadsheet instead of a bug tracking system.

Komodo Edit

Komodo Edit is a free text editor for dynamic programming languages. It was introduced in January 2007 to complement ActiveState's commercial Komodo IDE. As of version 4.3, Komodo Edit is built atop the Open Komodo project.

Selenium is a portable framework for testing web applications. Selenium provides a playback tool for authoring functional tests without the need to learn a test scripting language. It also provides a test domain-specific language (Selenese) to write tests in a number of popular programming languages, including C#, Groovy, Java, Perl, PHP, Python, Ruby and Scala. The tests can then run against most modern web browsers. Selenium deploys on Windows, Linux, and macOS platforms. It is open-source software, released under the Apache 2.0 license: web developers can download and use it without charge.

Komodo IDE

Komodo IDE is an integrated development environment (IDE) for dynamic programming languages. It was introduced in May 2000. Many of Komodo's features are derived from an embedded Python interpreter.

DBG is an open-source debugger and profiler for the PHP programming language. It is the debugger used in NuSphere's PhpED.

PHP Development Tools

PHP Development Tools (PDT) is a language IDE plugin for the Eclipse platform and the open-source project that develops it.

WebSphere sMash

WebSphere sMash was a development and runtime environment from IBM for the creation of dynamic web applications using the scripting languages Apache Groovy and PHP. It contains a PHP runtime written in Java. Project Zero is the experimental software development community in which new versions of WebSphere sMash are incubated.

Microsoft Visual Studio integrated development environment

Microsoft Visual Studio is an integrated development environment (IDE) from Microsoft. It is used to develop computer programs, as well as websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development platforms such as Windows API, Windows Forms, Windows Presentation Foundation, Windows Store and Microsoft Silverlight. It can produce both native code and managed code.

Web2py is an open-source web application framework written in the Python programming language. Web2py allows web developers to program dynamic web content using Python. Web2py is designed to help reduce tedious web development tasks, such as developing web forms from scratch, although a web developer may build a form from scratch if required.

CodeLite integrated development environment

CodeLite is a free and open-source IDE for the C, C++, PHP, and JavaScript (Node.js) programming languages.

PhpStorm PHP IDE

JetBrains PhpStorm is a commercial, cross-platform IDE for PHP built on JetBrains' IntelliJ IDEA platform.

The Language Server Protocol (LSP) is an open, JSON-RPC-based protocol for use between source code editors or integrated development environments (IDEs) and servers that provide programming language-specific features. The goal of the protocol is to allow programming language support to be implemented and distributed independently of any given editor or IDE.

References

  1. Rethans, Derick. "Main contributor to DBGp". github.
  2. "Xdebug: Documentation for DBGp". Xdebug.
  3. "Support DBGP protocol for easy integration with IDEs and tools · Issue #105 · krakjoe/phpdbg". GitHub. Retrieved 2016-09-25.
  4. "Guy Harpaz Blog: PHP IDE Debug Protocol". guyharpaz.blogspot.hu. Retrieved 2016-09-25.
  5. Rethans, Derick. "Debugging Protocol Shoot-out — Derick Rethans". derickrethans.nl. Retrieved 2016-09-25.