Skip to main content

Notice: This Wiki is now read only and edits are no longer 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/Rhino"

< JSDT‎ | Debug
(Source Lookup)
(Rhino Debug Wire Protocol)
 
(21 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{JSDT-Debug}}
 
{{JSDT-Debug}}
 +
== 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:
 +
 +
*[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] - the core Rhino implementation, provides the Rhino-specific implementation of [[JSDT/Debug/JavaScript Debug Interface|JSDI]]
 +
*[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] - the Rhino debugger that can be embedded in a server for remote debugging
 +
*[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
 +
*[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] - the Rhino-specific user interface bits
  
 
== Local Rhino Debugging ==
 
== Local Rhino Debugging ==
Line 6: Line 16:
 
The related New and Noteworthy entry is [http://www.eclipse.org/webtools/development/news/3.3M2/sourceediting.php here].
 
The related New and Noteworthy entry is [http://www.eclipse.org/webtools/development/news/3.3M2/sourceediting.php here].
  
==== Launch Options ====
+
The details about using and setting up local Rhino debugging can be found on [[JSDT/Debug/Rhino/Local Rhino Debugging|this page]].
  
<gallery widths="340px" heights="260px" perrow="1">
+
== Embedding the Rhino Debugger ==
Image:Local_rhino_main.png|The main tab for a local Rhino launch configuration
+
</gallery>
+
  
=== Include Paths ===
+
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.
  
The '''Include''' tab for a Rhino configuration allows you to quickly and easily add additional scripts to be run before the main script.
+
To learn how to embed the Rhino Debugger please go to [[JSDT/Debug/Rhino/Embedding_Rhino_Debugger|this page]].
  
You have the option to add one or more scripts from the workspace or from the local or extended file system.
+
== Rhino Debug Console ==
 
+
<gallery widths="340px" heights="260px" perrow="1">
+
Image:Local_rhino_include.png|The include tab for a local Rhino launch configuration
+
</gallery>
+
 
+
Using the '''Up''' and '''Down''' buttons you can place the scripts in the order you would like them to be run. The script at the top of the listing will be run first. You can also use the '''Remove''' button to remove the selected included scripts from the listing.
+
 
+
Any scripts that are added to the include path also have their containing folder automatically added to the source lookup path. For example if you added the script <code>/home/user/myscript.js</code> to the include path, the folder entry for <code>/home/user/</code> would be added to the source lookup path for you automatically.
+
 
+
=== Source Lookup ===
+
 
+
The '''Source''' tab allows you to customize where the launch will look for your source. This tab is automatically updated to track the script specified on the '''Main''' tab as well as entries on the '''Include''' tab.
+
 
+
<gallery widths="340px" heights="260px" perrow="1">
+
Image:Local_rhino_source.png|The source tab for a local Rhino launch configuration
+
</gallery>
+
 
+
Any automatically added entries can be changed / removed as you like and and new entries can be added from one of the following locations:
+
*Archive
+
*External Archive
+
*File System Directory
+
*Java Classpath Variable
+
*Java Library
+
*Java Project
+
*Project
+
*Working Set
+
*Workspace
+
*Workspace Folder
+
 
+
To modify the source lookup path simply use the '''Add...''', '''Remove...''' or '''Edit...''' buttons. The <code>Default</code> project source lookup entry cannot be modified, as it it directly tied to the script specified on the '''Main''' tab. But you can modify and edit any child entries of the <code>Default</code> project entry.
+
 
+
== 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 [[JSDT/Debug/Embedding_Rhino_Debugger|this page]].
+
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. [[JSDT/Debug/Rhino/Using_Rhino_Console|This page]] describes how to launch with the Rhino console and some common usage scenarios.
  
 
== Rhino Debug Wire Protocol ==
 
== Rhino Debug Wire Protocol ==
Line 58: Line 34:
 
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.  
 
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 [[JSDT/Debug/Rhino_Debug_Wire_Protocol|RDWP]] can be found [[JSDT/Debug/Rhino_Debug_Wire_Protocol|here]].
+
The complete specification for the [[JSDT/Debug/Rhino/Rhino_Debug_Wire_Protocol|RDWP]] can be found [[JSDT/Debug/Rhino/Rhino_Debug_Wire_Protocol|here]].

Latest revision as of 21:44, 14 January 2011

JSDT Debug
Website
Download
Community
Mailing ListForumsIRCmattermost
Issues
OpenHelp WantedBug Day
Contribute
Browse SourceProject Set File

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:

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.

The complete specification for the RDWP can be found here.

Back to the top