JSDT/Debug/Rhino
JSDT Debug | |
Website | |
Download | |
Community | |
Mailing List • Forums • IRC • mattermost | |
Issues | |
Open • Help Wanted • Bug Day | |
Contribute | |
Browse Source • Project Set File |
Contents
Overview
Support for the Rhino JavaScript interpreter is available in the JSDT feature and is provided to allow local and remote debugging of JavaScript using Rhino.
The bundles provided by JSDT debug for the Rhino support include:
- org.eclipse.wst.jsdt.debug.rhino - the core Rhino implementation, provides the Rhino-specific implementation of JSDI
- org.eclipse.wst.jsdt.debug.rhino.debugger - the Rhino debugger that can be embedded in a server for remote debugging
- org.eclipse.wst.jsdt.debug.rhino.tests - contains Rhino specific tests
- org.eclipse.wst.jsdt.debug.rhino.ui - the Rhino-specific user interface bits
Local Rhino Debugging
New to 1.3 is the ability to locally launch and debug JavaScript file(s) using Rhino. This new launching support includes context-sensitive launching from the platform and automatic source / script path updating.
The related New and Noteworthy entry is here.
The details about using and setting up local Rhino debugging can be found on this page.
Embedding the Rhino Debugger
One of the more powerful usages of the Rhino debug support is that it can easily be embedded into your existing server. Embedding the Rhino Debugger allows you to remotely debug the loading and execution of scripts from the Eclipse IDE.
To learn how to embed the Rhino Debugger please go to this page.
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.
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.