Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "JSDT/Debug"

(Using Local Rhino Launching)
(Bundles)
 
(8 intermediate revisions by the same user not shown)
Line 11: Line 11:
 
The entire JSDT debugger is comprised of several bundles:
 
The entire JSDT debugger is comprised of several bundles:
  
*'''org.eclipse.wst.jsdt.debug.core''' - contains the JSDI specification and debug model elements.
+
*[http://dev.eclipse.org/viewcvs/viewvc.cgi/org.eclipse.jsdt/plugins/org.eclipse.wst.jsdt.debug.core/?root=WebTools_Project 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.
+
*[http://dev.eclipse.org/viewcvs/viewvc.cgi/org.eclipse.jsdt/development/org.eclipse.wst.jsdt.debug.crossfire/?root=WebTools_Project 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.
+
*[http://dev.eclipse.org/viewcvs/viewvc.cgi/org.eclipse.jsdt/development/org.eclipse.wst.jsdt.debug.chrome/?root=WebTools_Project org.eclipse.wst.jsdt.debug.chrome] (incubation) - contains a Google Chrome implementation of the debugger.
*'''org.eclipse.wst.jsdt.debug.rhino.debugger''' - contains the Rhino debug hooks to connect to the Rhino interpreter.
+
*[http://dev.eclipse.org/viewcvs/viewvc.cgi/org.eclipse.jsdt/development/org.eclipse.wst.jsdt.debug.node/?root=WebTools_Project org.eclipse.wst.jsdt.debug.node] (incubation) - contains a Node.js implementation of the debugger.
*'''org.eclipse.wst.jsdt.debug.ui''' - contains the shared UI presentation for the debugger implementations.
+
*[http://dev.eclipse.org/viewcvs/viewvc.cgi/org.eclipse.jsdt/development/org.eclipse.wst.jsdt.debug.opera/?root=WebTools_Project org.eclipse.wst.jsdt.debug.opera] (incubation) - contains an Opera implementation of the debugger.
*'''org.eclipse.wst.jsdt.debug.core.tests''' - contains related test cases for the debug core.
+
*[http://dev.eclipse.org/viewcvs/viewvc.cgi/org.eclipse.jsdt/development/org.eclipse.wst.jsdt.debug.ie.debugger/?root=WebTools_Project org.eclipse.wst.jsdt.debug.ie.debugger] (incubation) - contains a Internet Explorer implementation of the debugger.
*'''org.eclipse.wst.jsdt.debug.rhino.tests''' - contains Rhino specific tests.
+
*[http://dev.eclipse.org/viewcvs/viewvc.cgi/org.eclipse.jsdt/plugins/org.eclipse.wst.jsdt.debug.rhino/?root=WebTools_Project org.eclipse.wst.jsdt.debug.rhino] - contains a Rhino implementation of the debugger.
 +
*[http://dev.eclipse.org/viewcvs/viewvc.cgi/org.eclipse.jsdt/plugins/org.eclipse.wst.jsdt.debug.rhino.debugger/?root=WebTools_Project org.eclipse.wst.jsdt.debug.rhino.debugger] - contains the Rhino debug hooks to connect to the Rhino interpreter.
 +
*[http://dev.eclipse.org/viewcvs/viewvc.cgi/org.eclipse.jsdt/plugins/org.eclipse.wst.jsdt.debug.rhino.ui/?root=WebTools_Project org.eclipse.wst.jsdt.debug.rhino.ui] - contains Rhino-specific user interface bits
 +
*[http://dev.eclipse.org/viewcvs/viewvc.cgi/org.eclipse.jsdt/plugins/org.eclipse.wst.jsdt.debug.transport/?root=WebTools_Project org.eclipse.wst.jsdt.debug.transport] - remote communication bundle, providing socket and JSON level communication utilities
 +
*[http://dev.eclipse.org/viewcvs/viewvc.cgi/org.eclipse.jsdt/plugins/org.eclipse.wst.jsdt.debug.ui/?root=WebTools_Project org.eclipse.wst.jsdt.debug.ui] - contains the shared UI presentation for the debugger implementations.
 +
*[http://dev.eclipse.org/viewcvs/viewvc.cgi/org.eclipse.jsdt/tests/org.eclipse.wst.jsdt.debug.core.tests/?root=WebTools_Project org.eclipse.wst.jsdt.debug.core.tests] - contains related test cases for the debug core.
 +
*[http://dev.eclipse.org/viewcvs/viewvc.cgi/org.eclipse.jsdt/tests/org.eclipse.wst.jsdt.debug.rhino.tests/?root=WebTools_Project 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 [[Media:Jsdt-debug.psf|here]].
 
All of the bundles required for development of the JSDT debugger can be acquired using the team project set file [[Media:Jsdt-debug.psf|here]].
Line 24: Line 30:
  
 
JSDT Debug follows directly the project plan for JSDT.
 
JSDT Debug follows directly the project plan for JSDT.
 
== HOWTO ==
 
 
==== Embedding the Rhino Debugger ====
 
 
To use the Rhino debug support it must be linked to a running Rhino interpreter. [[/Embedding_Rhino_Debugger|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. [[/Using_Rhino_Console|This page]] describes how to launch with the Rhino console and some common usage scenarios.
 
 
==== Using Local Rhino Launching  ====
 
 
New support added in 1.3 allows you to launch Rhino locally with a single click. More information on how to do so is found [[/Local_Rhino_Debugging|here]].
 
 
The related New and Noteworthy entry is [http://www.eclipse.org/webtools/development/news/3.3M2/sourceediting.php here].
 
 
==== Using the Crossfire Debugger ====
 
 
An alternative debugger that interacts with Firebug using Crossfire is under development.  [[/Using_Crossfire_Debugger|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. [[/Using_Google_Chrome_Debugger|This page]] describes how to try and get the experimental version up and running.
 
  
 
== Development ==
 
== 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 [[/Rhino_Debug_Wire_Protocol|RDWP]] can be found [[/Rhino_Debug_Wire_Protocol|here]].
 
  
 
==== JavaScript Debug Interface (JSDI) ====
 
==== 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. The complete specification for the [[/JavaScript_Debug_Interface|JSDI]] can be found [[/JavaScript_Debug_Interface|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 [[/JavaScript_Debug_Interface|JSDI]] can be found [[/JavaScript_Debug_Interface|here]].
 
 
== Testing ==
 
 
[[/Testing|Smoke Tests]], scenarios, example scripts and more to aid testing.
 
  
 
[[Category:JSDT]]
 
[[Category:JSDT]]

Latest revision as of 16:50, 31 March 2011

JSDT Debug
Website
Download
Community
Mailing ListForumsIRCmattermost
Issues
OpenHelp WantedBug 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.

Bundles

The entire JSDT debugger is comprised of several bundles:

All of the bundles required for development of the JSDT debugger can be acquired using the team project set file here.

Planning

JSDT Debug follows directly the project plan for JSDT.

Development

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. The complete specification for the JSDI can be found here.

Back to the top