JSDT/Debug

From Eclipsepedia

< JSDT
Revision as of 16:10, 28 May 2010 by Michael Rennie.ca.ibm.com (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
JSDT Debug
Website
Download
Community
Mailing ListForumsIRC
Bugzilla
Open
Help Wanted
Bug Day
Contribute
Browse SourceProject Set File

The JSDT debug project brings a variety of JavaScript debugging support to the JSDT using a common UI and communicating using a common protocol - JavaScript Debug Interface (JSDI). The common interface for the debugger emulates that of the platform and JDT debugger to allow a smooth transition and ease of use for the JSDT debugger.

Currently we have debugging support for Rhino and an incubation version of Crossfire / Firebug support.

Contents

Bundles

The entire JSDT debugger is comprised of several bundles:

  • org.eclipse.wst.jsdt.debug.core - contains the JSDI specification an debug model elements.
  • org.eclipse.wst.jsdt.debug.crossfire (incubation) - contains a Crossfire implementation of the debugger.
  • org.eclipse.wst.jsdt.debug.rhino - contains a Rhino implementation of the debugger.
  • org.eclipse.wst.jsdt.debug.rhino.debugger - contains the Rhino debug hooks to connect to the Rhino interpreter.
  • org.eclipse.wst.jsdt.debug.ui - contains the shared UI presentation for the debugger implementations.
  • org.eclipse.wst.jsdt.debug.core.tests - contains related test cases for the debug core.
  • org.eclipse.wst.jsdt.debug.rhino.tests - contains Rhino specific tests.

Planning

Development

Rhino Debug Wire Protocol

To provide support for the Rhino interpreter, we had to create both sides of the coin - the debugger and the client. To facilitate communication between the debugger and the client we created an adapted version of v8 (JSON-based) packet communication. The complete specification for the RDWP can be found here.

JavaScript Debug Interface (JSDI)

The JSDI is used to provide a common way for our models and UI to communicate with a variety of debugger back-ends - write one UI + model and provide additional debuggers.

Testing