|Mailing List • Forums • IRC • mattermost|
|Open • Help Wanted • Bug Day|
|Browse Source • Project Set File|
The entire JSDT debugger is comprised of several bundles:
- org.eclipse.wst.jsdt.debug.core - contains the JSDI specification and 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.
All of the bundles required for development of the JSDT debugger can be acquired using the team project set file here.
JSDT Debug follows directly the project plan for JSDT.
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.
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. The complete specification for the JSDI can be found here.
Embedding the Rhino Debugger
To use the Rhino debug support it must be linked to a running Rhino interpreter. This page describes how to do this.
Using the Rhino Debug Console
Launching the Rhino debugger with the Rhino console available is a very powerful tool that allows developers to perform many operations, one notable operation is loading scripts on demand. This page describes how to launch with the Rhino console and some common usage scenarios.
Using the Crossfire Debugger
An alternative debugger that interacts with Firebug using Crossfire is under development. This page describes how to try and get the experimental version of the debugger up and running.
Using the Google Chrome Debugger
Another alternative debugger that can be tested is using v8 for Google Chrome. This page describes how to try and get the experimental version up and running.
Smoke Tests, scenarios, example scripts and more to aid testing.