зеркало из https://github.com/mozilla/gecko-dev.git
163 строки
4.3 KiB
HTML
163 строки
4.3 KiB
HTML
<html>
|
|
<head>
|
|
<title>JSD Architecture</title>
|
|
</head>
|
|
|
|
<body bgcolor=white>
|
|
<h1><center>JSD Architecture</center></h1>
|
|
<a href="mailto:jband@netscape.com"><center>John Bandhauer</center></a>
|
|
<i><center>6 July 1998</center></i>
|
|
<p>
|
|
|
|
<center><img src="jsd_arch.jpg" border=1><br></center>
|
|
<center><i>Basic JSD architecture for both C and Java engines</i></center>
|
|
<p>
|
|
|
|
<table>
|
|
|
|
<tr>
|
|
<td valign=top><font color=red>(1)</font></td>
|
|
<td>
|
|
Spider Monkey JavaScript engine. This is an unmodified engine which exposes
|
|
a low-level debug interface via <code>js/src/jsdbgapi.h</code>.
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign=top><font color=red>(2)</font></td>
|
|
<td>
|
|
Spider Monkey JavaScript debug support. This provides a wrapper and does
|
|
bookkeeping.
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign=top><font color=red>(3)</font></td>
|
|
<td>
|
|
Corba adapter. Using only public interfaces of JSD this module remotes
|
|
the debug interface over a Corba connection.
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign=top><font color=red>(4)</font></td>
|
|
<td>
|
|
JNI native adapter. This implements the natives of <code>netscape.debug</code>
|
|
using JNI natives.
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign=top><font color=red>(5)</font></td>
|
|
<td>
|
|
Old JDK native adapter. This implements the natives of <code>netscape.debug</code>
|
|
using old style JDK natives. This is currently in use in Communicator 4.x.
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign=top><font color=red>(6)</font></td>
|
|
<td>
|
|
Rhino <i>JavaScript for Java</i> engine. This is the unmodified Rhino engine.
|
|
It exposes the low-level debug interface via various interface classesand support
|
|
built into the Context and Codegen classes.
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign=top><font color=red>(7)</font></td>
|
|
<td>
|
|
Rhino debug support package. This exposes a higher level debug interface for
|
|
Rhino and includes a reference implementation of that interface.
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign=top><font color=red>(8)</font></td>
|
|
<td>
|
|
Client end of Corba adapter. This implements <code>com.netscape.jsdebugging.api</code>
|
|
to provide debugger clients access to an engine running in a different process
|
|
space.
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign=top><font color=red>(9)</font></td>
|
|
<td>
|
|
<code>netscape.debug</code> is a package included in Communiator 4.x.
|
|
The JNI and JDK natives supply the bridge from C to Java that is exposed on the
|
|
Java side by this package.
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign=top><font color=red>(10)</font></td>
|
|
<td>
|
|
The local adapter implements <code>com.netscape.jsdebugging.api</code> in a form that
|
|
allows the debugger client to connect to <code>netscape.debug</code>.
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign=top><font color=red>(11)</font></td>
|
|
<td>
|
|
The rhino adapter implements <code>com.netscape.jsdebugging.api</code> in a form that
|
|
allows the debugger client to connect to <code>com.netscape.javascript.debug</code>.
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign=top><font color=red>(12)</font></td>
|
|
<td>
|
|
<code>com.netscape.jsdebugging.api</code> is an interface only package that allows
|
|
debugger clients to talk to any of the adapters transparently and with no
|
|
compile-time coupling to the adapters.
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign=top><font color=red>(13)</font></td>
|
|
<td>
|
|
Java-based Graphical Debugger. Currently we have one debugger written using IFC
|
|
and shipping in it's 1.1 form. Version 1.2 is unfinished and under development
|
|
in the mozilla tree in <code>js/sjdj/classes</code> in the package
|
|
<code>com.netscape.jsdebugging.ifcui</code>.
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign=top><font color=red>(14)</font></td>
|
|
<td>
|
|
Java-based Console Debugger. Currently we have a version of this checked in
|
|
to the mozilla tree in <code>com.netscape.jsdebugging.jsdb</code>. This version
|
|
will work with either Rhino or the C engine using engine abstraction classes in
|
|
<code>com.netscape.jsdebugging.engine</code>.
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign=top><font color=red>(15)</font></td>
|
|
<td>
|
|
Java-based debug api tests are implemented in
|
|
<code>com.netscape.jsdebugging.apitests</code>.
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign=top><font color=red>(n/a)</font></td>
|
|
<td>
|
|
Not shown is a purely native console debugger which uses only js/src and js/jsd.
|
|
It can be found in js/jsd/jsdb. This debugger uses the JS shell and reflects
|
|
the JSD api into the JavaScript language. The actual debugger is written in
|
|
JavaScript. It can be modified and extended as it runs and can debug itself.
|
|
</td>
|
|
</tr>
|
|
|
|
|
|
</table>
|
|
<HR>
|
|
last updated: 28 September 1998 - jband
|
|
|
|
</body>
|
|
</html>
|