| Java Platform Debugger
Architecture (JPDA) provides new debugging support for the Java 2 Platform.
JPDA delivers the infrastructure necessary for tools vendors to build powerful
debuggers which run across multiple platforms, virtual machine (VM) implementations
and SDK versions. The figure below shows the architecture.
Oracle JDeveloper 3.1 offers support for remotely debugging server side
Java using JPDA. This allows developers to debug Java code running in different
remote servers. JDeveloper's remote debugging support includes breakpoints,
conditional breakpoints, watch expressions and the ability to step through
code one statement or one procedure at a time and display the values of
variables and properties. With JDeveloper 3.1, the same intuitive GUI debugger
can now be used for both local and remote debugging.
Remotely Debugging Oracle8i
Oracle JDeveloper allows you to remotely debug Enterprise Java Beans,
Corba Server Objects and Java Stored Procedures running in Oracle8i
Release 2 (8.1.6). The figure below shows remote debugging of EJB running
in Oracle8i.
Oracle JDeveloper 3.1 also includes a debug on demand
feature which allows developers to remotely debug Java Stored Procedures,
EJB and Corba Server Objects when being called from external programs such
as SQL*Plus, Java Servlets etc..
Remotely Debugging BEA WebLogic ServerTM
Similarly, Oracle JDeveloper allows developers to remotely debug Enterprise
JavaBeans (EJB), Java Servlets and JSP pages running in BEA Weblogic Server.
The figure below shows remote debugging an EJB running in Weblogic Server.
The EJB has been invoked from a DOS client in step 1. The execution of
the EJB gets halted at the specified breakpoint in step 2.
Remotely Debugging Apache JServ
Similarly, Oracle JDeveloper allows developers to remotely debug Java
Servlets and JSP pages running in Apache JServ. The figure below shows
remote debugging of a Java Servlet running in Apache JServ. Step 1 shows
the Java Servlet being called from the browser and step 2 shows the execution
of Servlet code being stopped at the specified breakpoint.
|