Remote debugging of servlets
Hi there,
can anybody help me with remote debugging servlets and JSP running inside OC4J with JDeveloper 3.2.3? (JDK Version 1.3.1).
Any help would be very welcome!
Thanks in advance!
Stefan
Check out the following matrix for what features are supported from JDev 3.2.3 to OC4J. http://technet.oracle.com/products/jdev/htdocs/jdev323oc4j.html
For remote debugging Servelts check out http://otn.oracle.com/products/jdev/howtos/remotedebugservlet.html
raghu
Similar Messages
-
Step Over not working with Remote Debugging of Servlets with JRUN
Platform: JRun 4, JDK 1.4.1, JDev 9.0.3
using JPDA and copied jpda.jar to JDEV_HOME/java1.2/jre/lib/ext and set path to jar in app server path.
using debug args: java.args=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5000
ok, I'm able to attach JDeveloper to JRun and remotely debug by jumping from breakpoint to breakpoint but stepover causes JDeveloper to continue execution to completion or to next breakpoint. Any idea why step over does not work? The only way to halt execution during remote debugging is by using breakpoints.
Thanks in advance for any insight to this issue.Hi Bob,
I think OTN ate the other thread. It says there are 4 replies, but it won't display them. Here's my latest reply.
I just noticed something interesting from your original message. You say you are using JDK 1.4.1 for the app server (that's good) and you are using JDev 903. But you say you have copied jpda.jar to JDEV_HOME\java1.2. That doesn't make sense because JDev 903 didn't have a java1.2 directory; I think JDev 903 has a jdk directory which contains JDK 1.3 (actually 1.3.1_03 or something like that).
Also, jpda.jar is really old and the directions for using jpda.jar and for putting jpda\bin on the app server path is really old. Those directions were needed for JDK 1.2 because JPDA was released AFTER the JDK 1.2 was released. Starting with JDK 1.3, jpda is built in and you don't need the jdpa.jar or the jpda\bin, etc.
All this reminds me that in JDK 1.2, HotSpot had bugs where stepping didn't work!!! I'm almost positive that this is what you are experiencing. Here is my advice:
1. Make absolutely sure that you are using JDK 1.4.1 (or at least JDK 1.3 or later) for running your app server. Make sure that you are not using JDK 1.2 - you may have modified your app server so that it uses JDEV_HOME\java1.2\bin\java.exe[i]Long postings are being truncated to ~1 kB at this time. -
Remote Debugging Servlet on JDev 10g
How do we setup JDeveloper 10g for Remote Debugging for Servlet? We have Oracle Application Server 10g with OC4J containier. I know we need to start OC4J in debug mode, but don't know hot to do it. Jdeveloper and OracleAS is new to me.
Thanks in Advance!
MadanPlease refer
Re: Remote debugging with OC4J -
Hello!
I am new to eclipse...Can someone tell me how to use remote debug? I thought it is done by running "Debug..." after selecting the java file...Sorry for being so ignorant about this...I will really appreciate your help. Thank you.You do not have to have a main() method in the application. In fact you can have a breakpoint in any Java component. It just has to be in debugger's scope and it'll get visited.
Example: Let's say you're rinning a Tomcat app. You can have a breakpoint inside a servlet's doGet() methof and when you invkoke the servlet from Firefox, Eclipse will pause the excution and will bring the debugger perspective up.
From the article "Eclipse Debug window should automatically pop-up with the stack pointer on your first breakpoint (See Figure 3: Breakpoint hit in Eclipse's debugger). After that, you can use all the various functions that the debugger has to offer, namely variable assignments, step-into, drop to frame, etc."
If you're not seeining anything, chances are that you're not executing that piece of code. Double check that and let me know.
Levent Gurses -
Casting problems getting a home I/F of an EJB in another app when debuging a servlet
(Jdeveloper version = 9.0.2.798, OC4J Application Server version = Oracle9iAS (9.0.2.0.0))
I am trying to debug a multi-tier application using the embedded application server. Servlets and EJBs within that application need to call EJBs contained within a second application (Horus).
I have set up the embedded application server to run this second application automatically by adding the following entry into its server.xml
<application auto-start="true" name="Horus" path="M:\Studio\build\production\java\Server\Obfuscate\J2EE_HOME\Horus\Horus.xml"/>
I then start the embedded application server by debugging my servlet project, 'intermediateServlet'. I know the second application is running correctly in the embedded application server because I can access it from a separate client.
In the 'intermediateServlet', I want to obtain a reference to a Dispatcher EJB held in the Horus application. This EJB has the following properties
ejb-name = com.internal.server.Dispatcher
home interface = com.internal.server.DispatcherHome
bean class = com.internal.server.DispatcherEJB
remote interface= com.internal.server.Dispatcher
The following code is executed during the container's call to my servlet init( context ) method to try and get the appropriate home interface.
Context context = null;
Object tempRemoteIF1 = null;
Object tempRemoteIF2 = null;
Properties h = null;
h = new Properties();
h.put( Context.INITIAL_CONTEXT_FACTORY, "com.evermind.server.rmi.RMIInitialContextFactory" );
h.put( Context.PROVIDER_URL, "ormi://127.0.0.1:23891/Horus");
h.put( Context.SECURITY_PRINCIPAL, "user0" );
h.put( Context.SECURITY_CREDENTIALS, "password" );
context = new InitialContext (h);
tempRemoteIF1 = context.lookup( "com.internal.server.Dispatcher" );
tempRemoteIF2 = javax.rmi.PortableRemoteObject.narrow
tempRemoteIF1,
Class.forName( "com.internal.server.DispatcherHome" )
The context.lookup call seems to work fine, returning an object of the class
DispatcherHome_StatelessSessionHomeWrapper5
Which I presume is a containter generated class implementing the home interface. To help confirm this,
the object has a property beanName that has the value "com.internal.server.Dispatcher".
The problem occurs on the next line, when I check whether I can cast the object to the home interface using ProtableRemoteObject.narrow(). This gives the following exception.
java.lang.ClassCastException
java.lang.Object com.sun.corba.se.internal.javax.rmi.PortableRemoteObject.narrow(java.lang.Object, java.lang.Class)
PortableRemoteObject.java:296
java.lang.Object javax.rmi.PortableRemoteObject.narrow(java.lang.Object, java.lang.Class)
PortableRemoteObject.java:137
com.internal.server.Dispatcher com.Studio.servlet.intermediateServlet.getDispatcherRef(java.lang.String, java.lang.String, java.lang.String)
intermediateServlet.java:601
void com.Studio.servlet.intermediateServlet.init(javax.servlet.ServletConfig)
intermediateServlet.java:150
com.evermind.server.http.ServletInstanceInfo com.evermind.server.http.HttpApplication.loadServlet(com.evermind.util.ByteString)
HttpApplication.java:1669
com.evermind.server.http.ServletInstanceInfo com.evermind.server.http.HttpApplication.findServlet(com.evermind.util.ByteString)
HttpApplication.java:4001
javax.servlet.RequestDispatcher com.evermind.server.http.HttpApplication.getRequestDispatcher(com.evermind.util.ByteString, com.evermind.server.http.EvermindHttpServletRequest, com.evermind.server.http.EvermindHttpServletResponse)
HttpApplication.java:2200
boolean com.evermind.server.http.HttpRequestHandler.processRequest(com.evermind.server.ApplicationServerThread, com.evermind.server.http.EvermindHttpServletRequest, com.evermind.server.http.EvermindHttpServletResponse, java.io.InputStream, java.io.OutputStream, boolean)
HttpRequestHandler.java:580
void com.evermind.server.http.HttpRequestHandler.run(java.lang.Thread)
HttpRequestHandler.java:243
void com.evermind.util.ThreadPoolThread.run()
ThreadPoolThread.java:62
Interestingly, if I use practically the same code, to obtain the home interface of an EJB that is defined in the application that I am debugging, the cast works perfectly. The returned object looks identical, apart from the name to the DispatcherHome_StatelessSessionHomeWrapper5 mentioned above.
Could the error possibly be because I need to declare 'Horus' as a parent application of the application I am debugging? If it is how do I do this?
Many thanks in advance for any help with this one.
Mark.(Jdeveloper version = 9.0.2.798, OC4J Application Server version = Oracle9iAS (9.0.2.0.0))
I am trying to debug a multi-tier application using the embedded application server. Servlets and EJBs within that application need to call EJBs contained within a second application (Horus).
I have set up the embedded application server to run this second application automatically by adding the following entry into its server.xml
<application auto-start="true" name="Horus" path="M:\Studio\build\production\java\Server\Obfuscate\J2EE_HOME\Horus\Horus.xml"/>
I then start the embedded application server by debugging my servlet project, 'intermediateServlet'. I know the second application is running correctly in the embedded application server because I can access it from a separate client.
In the 'intermediateServlet', I want to obtain a reference to a Dispatcher EJB held in the Horus application. This EJB has the following properties
ejb-name = com.internal.server.Dispatcher
home interface = com.internal.server.DispatcherHome
bean class = com.internal.server.DispatcherEJB
remote interface= com.internal.server.Dispatcher
The following code is executed during the container's call to my servlet init( context ) method to try and get the appropriate home interface.
Context context = null;
Object tempRemoteIF1 = null;
Object tempRemoteIF2 = null;
Properties h = null;
h = new Properties();
h.put( Context.INITIAL_CONTEXT_FACTORY, "com.evermind.server.rmi.RMIInitialContextFactory" );
h.put( Context.PROVIDER_URL, "ormi://127.0.0.1:23891/Horus");
h.put( Context.SECURITY_PRINCIPAL, "user0" );
h.put( Context.SECURITY_CREDENTIALS, "password" );
context = new InitialContext (h);
tempRemoteIF1 = context.lookup( "com.internal.server.Dispatcher" );
tempRemoteIF2 = javax.rmi.PortableRemoteObject.narrow
tempRemoteIF1,
Class.forName( "com.internal.server.DispatcherHome" )
The context.lookup call seems to work fine, returning an object of the class
DispatcherHome_StatelessSessionHomeWrapper5
Which I presume is a containter generated class implementing the home interface. To help confirm this,
the object has a property beanName that has the value "com.internal.server.Dispatcher".
The problem occurs on the next line, when I check whether I can cast the object to the home interface using ProtableRemoteObject.narrow(). This gives the following exception.
java.lang.ClassCastException
java.lang.Object com.sun.corba.se.internal.javax.rmi.PortableRemoteObject.narrow(java.lang.Object, java.lang.Class)
PortableRemoteObject.java:296
java.lang.Object javax.rmi.PortableRemoteObject.narrow(java.lang.Object, java.lang.Class)
PortableRemoteObject.java:137
com.internal.server.Dispatcher com.Studio.servlet.intermediateServlet.getDispatcherRef(java.lang.String, java.lang.String, java.lang.String)
intermediateServlet.java:601
void com.Studio.servlet.intermediateServlet.init(javax.servlet.ServletConfig)
intermediateServlet.java:150
com.evermind.server.http.ServletInstanceInfo com.evermind.server.http.HttpApplication.loadServlet(com.evermind.util.ByteString)
HttpApplication.java:1669
com.evermind.server.http.ServletInstanceInfo com.evermind.server.http.HttpApplication.findServlet(com.evermind.util.ByteString)
HttpApplication.java:4001
javax.servlet.RequestDispatcher com.evermind.server.http.HttpApplication.getRequestDispatcher(com.evermind.util.ByteString, com.evermind.server.http.EvermindHttpServletRequest, com.evermind.server.http.EvermindHttpServletResponse)
HttpApplication.java:2200
boolean com.evermind.server.http.HttpRequestHandler.processRequest(com.evermind.server.ApplicationServerThread, com.evermind.server.http.EvermindHttpServletRequest, com.evermind.server.http.EvermindHttpServletResponse, java.io.InputStream, java.io.OutputStream, boolean)
HttpRequestHandler.java:580
void com.evermind.server.http.HttpRequestHandler.run(java.lang.Thread)
HttpRequestHandler.java:243
void com.evermind.util.ThreadPoolThread.run()
ThreadPoolThread.java:62
Interestingly, if I use practically the same code, to obtain the home interface of an EJB that is defined in the application that I am debugging, the cast works perfectly. The returned object looks identical, apart from the name to the DispatcherHome_StatelessSessionHomeWrapper5 mentioned above.
Could the error possibly be because I need to declare 'Horus' as a parent application of the application I am debugging? If it is how do I do this?
Many thanks in advance for any help with this one.
Mark. Try loading the home interface from the same classloader used to load the the returned home object.
tempRemoteIF2 = javax.rmi.PortableRemoteObject.narrow
( tempRemoteIF1,
tempRemoteIF1.getClass().getClassLoader().loadClass("com.internal.server.DispatcherHome" )
Dhiraj -
Remote Debugging (Jdev 10.1.3 to AS 10.1.3)
Hi,
I have been trying to do a remote debugging by connecting Jdeveloper (version 10.1.3 production) to AS 10.1.3 mid-tier but the OC4J instance seems to be crashing the moment the jdeveloper makes the connection. However, before the crash, jdeveloper takes about 5minutes to connect to the server.
The OC4J is managed by opmn and not a standalone process. I am not sure if this makes any difference. Here are the changes that I made in the 10.1.3 server:
*) Modified opmn.xml to add the below:
<data id="java-options" value="-server -verbose:gc -Xmx512M -Xms128M -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=43503 -XX:MaxPermSize=128M -XX:NewRatio=2 -XX:+PrintGCTimeStamps -XX:+UseTLAB -XX:ParallelGCThreads=2 -Djava.security.policy=$ORACLE_HOME/j2ee/oacore/config/java2.policy -Djava.awt.headless=true -Dhttp.webdir.enable=false"/>
(also tried removing "-server" option)
*) Modified orion-web.xml to add the below:
<init-param>
<param-name>debug_mode</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>developer_mode</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>encode_to_java</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>emit_debuginfo</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>jspjavacompiler</param-name>
<param-value>oracle.jdevimpl.jsp.JspOjcCompiler</param-value>
</init-param>
*) Modified global-web-application.xml to add the below:
<orion-web-app
jsp-cache-directory="./persistence"
servlet-webdir="/servlet"
development="true" >
I see the below message in the jdeveloper debug window when the OC4J instance crashes:
Debuggee process virtual machine is Java HotSpot(TM) Server VM.
Debuggee process is application server OC4J.
To test JSPs or servlets, you must start a browser.
Debugger disconnected from remote process.
I do not see any error in application.log file.
By setting up the remote debugging, I am hoping for a better portlet development experience.
Any help is appreciated.
Thanks,
Pandian.
Message was edited by:
apandianThe doc is kind of vague, but here's the root reference:
http://download.oracle.com/docs/cd/B25221_04/core.1013/b15976/opmnxml.htm#sthref144
There's a FAQ document that prescribes how the "restart" algorithm works, see 1.3:
http://www.oracle.com/technology/products/ias/ohs/htdocs/opmn-1013-faq.pdf
So to tweak this behaviour, you specify a speciifc <ping> element inside of the opmn.xml for the managed process you are using -- and set the timeout, interval, retry attributes to some combination that gives you a longer pause time.
http://download.oracle.com/docs/cd/B25221_04/core.1013/b15976/common.htm#CACGAIGH
<ias-component id="default_group">
<process-type id="home" module-id="OC4J" status="enabled">
<module-data>
<category id="start-parameters">
<data id="java-options" value="-Xrs -server -XX:MaxPermSize=128M -ms512M -mx1024M -XX:AppendRatio=3 -Djava.security.policy=$ORACLE_HOME/j2ee/home/config/java2.policy -Djava.awt.headless=true -Dhttp.webdir.enable=false"/>
</category>
<category id="stop-parameters">
<data id="java-options" value="-Djava.security.policy=$ORACLE_HOME/j2ee/home/config/java2.policy -Djava.awt.headless=true -Dhttp.webdir.enable=false"/>
</category>
</module-data>
<start timeout="600" retry="2"/>
<stop timeout="120"/>
<restart timeout="720" retry="2"/>
<ping timeout="300" />
<port id="default-web-site" range="8888" protocol="ajp"/>
<port id="rmi" range="12401-12500"/>
<port id="rmis" range="12701-12800"/>
<port id="jms" range="12601-12700"/>
<process-set id="default_group" numprocs="1"/>
</process-type>
</ias-component>Now I did just see something that is either a bug, or a doc error. In the doc, it shows the attributes of the <ping> tag to be: timeout, retry, interval. However when you configure opmn.xml with these, it report an error.
Looking at the $ORACLE_HOME/opmn/conf/opmn.xsd file, it shows that only attributes are timeout and interval. You can't add a retry attribute. I'm not sure if this is a doc bug or an error in the XSD file.
Anyways, using the timeout parameter, for your DEBUGGING phase (not production!) you should be able to bump that up to a higher value to allow OPMN to wait longer for a response from OC4J before it nukes it.
-steve- -
JSP Remote debugging from Jdev to WL 7.0
I am trying to remote debug my JSP deployed on WL from Jdeveloper 903.
I have included the parameters to make WL start in a debug mode.
I have also included ojsp.jar, servlet.jar and ojc.jar in WL classpath.
So I can start WL in debug mode, I can launch the url to get access to my JSP,
a break point is included in the code but it doesn't stop at the break point.
I am using JPDA.
Do I have to modify something else to be able to remote debug my JSP?
PS: remote debugging my EJB works fine.
Thanks for your help
Is there any possibility to change the JSP engine in Weblogic server and customize
the new JSP
with additional parameters, so that IDE's can debug JSP code itself?
"Mike Herrick" <[email protected]> wrote:
>
>As far as I know this is behaving correctly.
>
>To debug a JSP via JDPA you have to compile your JSPs and put the Servlet
>classes
>the JSP compiler spits out in your IDE Classpath. Then you can debug
>those Servlets
>-- but you can't set break points in the JSP itself. Not the best.
>
>Some IDE Vendors add this on top of JDPA etc.
>
>I'm not 100% on this, but think I'm correct.
>
>Mike
>
>"Magali Richard" <[email protected]> wrote:
>>
>>I am trying to remote debug my JSP deployed on WL from Jdeveloper 903.
>>I have included
>>the parameters to make WL start in a debug mode. I have also included
>>ojsp.jar,
>>servlet.jar and ojc.jar in WL classpath. So I can start WL in debug
>mode,
>>I can
>>launch the url to get access to my JSP, a break point is included in
>>the code
>>but it doesn't stop at the break point. I am using JPDA. Do I have to
>>modify something
>>else to be able to remote debug my JSP?
>>
>>PS: remote debugging my EJB works fine. Thanks for your help
>>
>
-
How to use jdb for debugging a servlet?
I'm using Apache/JServ with jdk 1.4 (via Textpad on win2K SP 3).
The 'gospel' I'm trying to follow is:
'Start the server manually and record the password for remote debugging
(this is displayed on the console).'
'Start the Java debugger:'
'jdb -host your_host -password the_password'
'You should be able to debug your Java classes now using the jdb
command.'
My problem is that I can't find the password from Apache.
I normally start/restart apache as a windows Service.
If I start it from DOS I get:
'C:\orant9i\Apache\Apache>apache -k start'
'Oracle HTTP Server Powered by Apache/1.3.12 (Win32) ApacheJServ/1.1
mod_ssl/2.6.4 OpenSSL/0.9.5a mod_perl/1.24 running...'
I've searched the log, conf & property files but can't find any password.
I've also searched the Apache website for 'jdb' without luck.
I've printed out (and read!) the 'Using Apache with MS Windows' manual.
I did a Google:
--Someone suggested starting Apache using using the -X flag, but I don't
seem to have this option.
--Someone else suggested changing jvm12.conf, but I don't have one.
I have tried the following, just-in-case I don't really need a password,
but it doesn't tell me a lot, and I would appreciate some help:
JDB -sourcepath E:\javaPackages org.apache.jserv.JServServletManager
C:\orant9i\Apache\Apache>JDB org.apache.jserv.JServServletManager
Initializing jdb ...
> run
run org.apache.jserv.JServServletManager
Set uncaught java.lang.Throwable
Set deferred uncaught java.lang.Throwable
>
VM Started:
Exception occurred: java.lang.ClassNotFoundException (uncaught)"thread=main", java.net.URLClassLoader$1.run(), line=199 bci=72
main[1] list
Source file not found: URLClassLoader.java
main[1]
Thanks,
Peter.
Posted to alt.apache.configuration, comp.lang.java, http://groups.yahoo.com/group/win-apache and
comp.infosystems.www.servers.misc with no responseHello
You wrote:
I added the following to jserv.properties:
wrapper.bin.parameters=-Xdebug
wrapper.bin.parameters=-Xrunjdwp:transport=dt_socket,address=2930,suspend=n,server=y
and it ran the servlet okay.Fine so far. This means your debugee VM is started and running. The "suspend=n" means it
will start running without waiting for a debugger to attach... so you can attach later whenever you
decide to debug. Note that 'later' could be weeks later, or possibly never.
Now: Time to attach jdb to the victim/debugee process you started above.
You wrote:
But I get the following when I try to start jdb:
jdb -connect com.sun.jdi.SocketAttach:hostname=localhost,port=2930 org.apache.jserv.JServServletManager
gives:
Cannot specify command line with connector:
com.sun.jdi.SocketAttach:hostname=localhost,port=2930,
and
jdb -attach localhost:2930 org.apache.jserv.JServServletManager
gives:
Cannot specify command line with connector: com.sun.jdi.SharedMemoryAttach:name=localhost:2930,The problem here is that you are trying to supply too much information to jdb.
When you are using the attach connectors, all you need to supply is the
host name and socket (for the socket connectors), or the name of the shared memory
area (for the shared memory connector). The connectors you tried above are throwing
an error because you are trying to supply something extra (the class name).
When doing an attach, the debugee VM is already launched. The debugger will
attach to it and inspect the classes loaded.
If you are still running with the wrapper.bin.parameters you listed above,
then all you need to connect with jdb is:
jdb -connect com.sun.jdi.SocketAttach:hostname=localhost,port=2930 You should get a jdb prompt, and you will be able to inspect the debugee
VM by entering commands such as threads and classes. Typically
the next thing would be to set some breakpoints (stop in package.class.method,
or stop at package.class:line. Then restart the debugee with a resume. -
Is it possible to set up IFS to enable remote debugging?
I'd like to be able to attach JDeveloper debugger to the IFS JVM.
I run IFS on a remote machine.
Thanks,
Roman
nullRoman,
Have you checked the online help in Jdeveloper there is a lot of information on remote debugging.
If you use 1.1 you should check the following which I've copied from the online help:
Configuring Apache JServ for Remote Debugging Java Server Pages
If you are using Apache Jserv, you can debug using either the Oracle Java Virtual Machine (JVM) debugging protocol or the Sun Java Platform Debugging Architecture (JPDA). When you start your remote debugging session, you will have to choose which method to use. Depending on which one you choose, your configuration options are a little different.
Using Oracle's JVM
To use Oracle's JVM debugging protocol, you'll need to change the JVM that Apache JServ uses, modify the parameters you send to the JVM, and modify the CLASSPATH for Apache JServ.
These changes must be made on the computer that is hosting Apache JServ. If you do not have permission to make these changes, talk with your administrator.
Changing the JVM
In the jserv.properties file, set the wrapper.bin parameter to the full path of the JDeveloper JVM (java.exe). For example,
wrapper.bin=C:\Program Files\jdeveloper\java1.2\bin\java.exe
Setting parameters
In jserv.properties, set the wrapper.bin parameter to
wrapper.bin.parameters=-XXdebugondemandquietport4000
The -XXdebug parameter options are the following:
ondemand
Start the java program right away and allow a debugger to connect any time. Without this option, the Java program stays halted until a debugger is connected.
port4000
Debugger must connect at the specified port. Without this option, the port is 4000.
quiet
Don't print connection messages. Without this option, connection messages are sent to standard error.
Changing the ApJServerAction entry
In jserv.conf comment out any existing ApJServAction .jsp entries by putting a # at the beginning of the line.]
#ApJServAction .jsp /servlets/org.gjt.jsp.JSPServlet
Add a new ApJServAction .jsp entry
ApJServAction .jsp /servlets/oracle.jsp.JspServlet
Adding servlet init parameters
In the servlet init parameters section of the zone.properties file, add the following lines.
servlet.oracle.jsp.JspServlet.initArgs=emit_debuginfo=true
servlet.oracle.jsp.JspServlet.initArgs=jspcompiler=oracle.jdeveloper.jsp.JspOjcCompiler
servlet.oracle.jsp.JspServlet.initArgs=classpath=C:\Program Files\Oracle\JDeveloper\java1.2\jre\lib\rt.jar
Setting the CLASSPATH
In jserv.properties, set wrapper.classpath to
wrapper.classpath=C:\Program Files\Oracle\JDeveloper\jswdk-1.0\lib\servlet.jar
Make sure that the location of ApacheJServ.jar is specified.
wrapper.classpath=C:\Program Files\Apache JServ\ApacheJServ.jar
Comment out the location of jsdk.jar.
#wrapper.classpath=C:\jsdk2.0\lib\jsdk.jar
Using JPDA
To use JPDA debugging protocol, you'll need to modify the parameters you send to the JVM, tell the server how to find the JDPA library, and modify the CLASSPATH for Apache JServ.
These changes must be made on the computer that is hosting Apache JServ. If you do not have permission to make these changes, talk with your administrator.
Setting parameters
In jserv.properties, set the wrapper.bin parameter to
wrapper.bin.parameters=-classic -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=4000 -Xdebug -Xnoagent -Djava.compiler=NONE
To see the invocation options for JPDA, see Sun VM Invocation Options.
If you are running on Solaris, you may also need to include stdalloc=y as part of the -Xrunjdwp paramater, like the following:
wrapper.bin.parameters=-classic -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=4000,stdalloc=y -Xdebug -Xnoagent -Djava.compiler=NONE
Adding the JPDA library
In jserv.properties, set wrapper.path to include the location of jdwp.dll. This file is is part of the Java Platform Debugging Architecture.
wrapper.path=D:\jpda\bin
If Apache JServ is running on Unix,
setenv LD_LIBRARY_PATH /home/jpda/lib/sparc:$LD_LIBRARY_PATH
setenv PATH /home/jpda/bin:$PATH
where home/jpda is the path to your JPDA installation. In addition, you will have to pass that environment variable through Apache to the JVM. To do that, in jserv.properties, add the following line:
wrapper.env.copy=LD_LIBRARY_PATH
Setting the CLASSPATH
In jserv.properties, set wrapper.classpath to
wrapper.classpath=C:\Program Files\Oracle\JDeveloper\jswdk-1.0\lib\servlet.jar
Make sure that the location of ApacheJServ.jar is specified.
wrapper.classpath=C:\Program Files\Apache JServ\ApacheJServ.jar
Comment out the location of jsdk.jar.
#wrapper.classpath=C:\jsdk2.0\lib\jsdk.jar
Let me know if this helps -
Remote Debugging w/ Eclipse and Weblogic
Hi,
I'd like to debug my Servlets/EJB's running on a Weblogic 6.1 SP4. My
IDE is Eclipse 2.1
To enable remote debugging I start Weblogic with that additional JVM
options:
-classic -Xdebug -Xnoagent
-Xrunjdwp:transport=dt_socket,address=5000,suspend=y,server=y
and configured my Remote Application in Eclipse accordingly.
The connection successes.
Problem: When I reach my breakpoint, Eclipse pops up an error message:
"Attempting to install a breakpoint in the type
com.xxx....
that has no line number attributes. The breakpoint cannot be
installed. Class files must be generated with the line number
attributes.
Reason:
Absent Line Number Information"
I compiled my sources with enabled debug option.
Any comments and ideas are appreciated.
Cheers,
Jan.
Sorry!
the debug option was NOT enabled (seems that my ant script is too
complex at this stadium...)
Cheers,
Jan.
[email protected] (Jan-Friedrich Mutter) wrote in message news:<[email protected]>...
> Hi,
>
> I'd like to debug my Servlets/EJB's running on a Weblogic 6.1 SP4. My
> IDE is Eclipse 2.1
> To enable remote debugging I start Weblogic with that additional JVM
> options:
>
> -classic -Xdebug -Xnoagent
> -Xrunjdwp:transport=dt_socket,address=5000,suspend=y,server=y
>
> and configured my Remote Application in Eclipse accordingly.
>
> The connection successes.
>
> Problem: When I reach my breakpoint, Eclipse pops up an error message:
> "Attempting to install a breakpoint in the type
> com.xxx....
> that has no line number attributes. The breakpoint cannot be
> installed. Class files must be generated with the line number
> attributes.
> Reason:
> Absent Line Number Information"
>
> I compiled my sources with enabled debug option.
>
> Any comments and ideas are appreciated.
>
> Cheers,
> Jan.
-
Hi,all
I'm using eclipse 3.1.1 to debug a servlet deployed on sjsas7 2004Q2, the os is windows. The only connect type on eclipse is Standard(Socket Attach), so I set the debug options in sjsas is:-Xdebug -Dnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,address=1234,suspend=n,
When I use debug in eclipse, it connect to sjsas successfully.
But there's and appservd.exe application error, if I set a breakpoint in eclipse and the sjsas restarts.
I appreciate anyone tell me how to solve this problem or how can I use shared memoy type in eclipse remote debug?
Thanks alotHi,
I am also facing this problem in debug mode in Eclipse 3.1.1 .
We are trying to run a huge JNI call to an exe which makes use of
win32 and mfc dlls . please help . is it possible to make jni calls from java program in eclipse . am not getting any exceptions but the .exe file is not running . any help would be great ...
email : [email protected]
FATAL ERROR in native method: No transports initialized
Invalid listen port number: localhost:2429
Transport dt_socket failed to initialize, rc = -1. -
Weblogic 8.1 Remote Debugging Setup
I am requesting help on a problem I am encountering using remote debugging with eclipse and Weblogic 8.1.2. I have successfully used remote debugging in the past with other application servers, but I have been unsuccessful with Weblogic 8.1.
I have set the remote debugging options both on the weblogic start script as well as configured eclipse to connect to the port that was defined in the startup script (See Below). When I start the remote debugger within eclipse and it seems to connect properly. Once I set a break point or remove a break point, weblogic generates a "Transport error, error code = -1" and stops the debugger with in Eclipse.
At this point I am at a loss of what is causing this error. I would appreciate any help on this issue.
Operating System: WindowsXP Pro
Weblogic Version: 8.1.2
Eclipse 3.2
JDK 1.4.2
JAVA_OPTS: =-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=7777,server=y,suspend=n
Thanks!
Rafael SalazarAddress 7001 does't seem to be good idea for debuging, it is weblogic default address.
try 3999.
"Arsel" <[email protected]> wrote:
>
Hi There,
I started weblogic server 8.1 with the follwing option -Xdebug -Xnoagent
-Djava.compiler=NONE
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7001
Weblogic started successfully but when I tried to attached the java process
from
my IDE I got the error 'Target server failed to handshake' and in the
weblogic
console I got the following error.
<22-Aug-2003 10:09:52 o'clock AM EDT> <Error> <HTTP> <BEA-101083> <Connection
failure.
java.io.IOException: A complete message could not be read on socket:
'weblogic.servlet.internal.MuxableSocketHTTP@1871db
1 - idle timeout: '60000' ms, socket timeout: '5000' ms', in the configured
timeout
period of '60' secs
at weblogic.socket.SocketMuxer$TimeoutTrigger.trigger(SocketMuxer.java:734)
at weblogic.time.common.internal.ScheduledTrigger.run(ScheduledTrigger.java:243)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:97)
at weblogic.time.common.internal.ScheduledTrigger.executeLocally(ScheduledTrigger.java:229)
at weblogic.time.common.internal.ScheduledTrigger.execute(ScheduledTrigger.java:223)
at weblogic.time.server.ScheduledTrigger.execute(ScheduledTrigger.java:49)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:178)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:151)
Does weblogic 8.1 support JPDA? Any suggesstion is higly appreciated.
Thanks.
Arsel -
How to remote debug JSPs on Tomcat 5.0 from JDev 10.1.2
I can remote debug Java applications and servlets. But I can not make it stop within any JSP pages while doing remote debug. I have no problem if I debug locally within the built-in OC4J server.
I set my project properties with remote debugging -> Attaching to JPDA. I start my tomcat using catalina jpda start after setting environment variables JPDA_ADDRESS=8000 and JPDA_TRANSPORT=dt_socket.
Please help,
TIAAshraf, thanks for sharing your experience. I would like to comment on your precedure.
Jdeveloper 10.1.2
Tomcat 4.1.31 ( version 5.x.x won't work as it needs jdk 1.5 at least, and jdev is configured to run with 1.4 )I was able to use Jdeveloper 9.0.5 to debug a servlet running in Tomcat 5.5.9 with jdk 1.5.0. I would belive there is no fundamental obstacle for Jdeveloper 10.1.2 to debug Tomcat 5.x.x, thanks to the nature of JPDA.
a- backup $TOMCAT$\bin\catalina.bat.
b- edit $TOMCAT$\bin\catalina.bat to include the following:
set JAVA_OPTS=%JAVA_OPTS% -Xdebug -Xnoagent -Djava.compiler=NONE
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000Another way is to set your environment variable JAVA_OPTS. There is then no need to modify catalina.bat. -
Hi all,
I could not find the right place in the forum to log this error. If anyone knows kindly let me know.
The issue is given below :-
I have configured my Eclipse to perform Remote Debugging. I have a Borland Enterprise Server running to which my Eclipse connects at a particular port and
allows me to debug i.e. Step Over, Step Through, Breakpoints etc.
Since the calls between the compents of the server and client are basically corba calls i am not able to see the values of the variables when i step through the
code in the eclipse.
How do i resolve this.
Thanks
RamSorry!
the debug option was NOT enabled (seems that my ant script is too
complex at this stadium...)
Cheers,
Jan.
[email protected] (Jan-Friedrich Mutter) wrote in message news:<[email protected]>...
> Hi,
>
> I'd like to debug my Servlets/EJB's running on a Weblogic 6.1 SP4. My
> IDE is Eclipse 2.1
> To enable remote debugging I start Weblogic with that additional JVM
> options:
>
> -classic -Xdebug -Xnoagent
> -Xrunjdwp:transport=dt_socket,address=5000,suspend=y,server=y
>
> and configured my Remote Application in Eclipse accordingly.
>
> The connection successes.
>
> Problem: When I reach my breakpoint, Eclipse pops up an error message:
> "Attempting to install a breakpoint in the type
> com.xxx....
> that has no line number attributes. The breakpoint cannot be
> installed. Class files must be generated with the line number
> attributes.
> Reason:
> Absent Line Number Information"
>
> I compiled my sources with enabled debug option.
>
> Any comments and ideas are appreciated.
>
> Cheers,
> Jan.
-
Remote Debug (iPlanet)
Hi,
How to config JDev (3.1) in my WorkStation, to use "iPlanet" WebServer and not "Web-to-go" to debug my servlets ?
I am using:
WorkStation: NTW 4.0(SP3), JDev 3.1 with JDK 1.2.2, JSDK 1.0.1.
Server: NTS 4.0(SP5) and iPlanet 4.0 SP1.
Can anyone help me ?Hi,
There isn't a way to configure JDeveloper to use a different webserver for local debugging, but you could certainly try using it for 'remote' debugging (even if the webserver is running on your local machine).
See the following section of the online help for more information on configuring your webserver for remote debugging:
User Guides
Working with JDeveloper
Developing Programs with JDeveloper
Debugging Java Programs
Remote Debugging
Remote Debugging of Java Servlets
null
Maybe you are looking for
-
Restricting a Ratio with a filter on a dynamic value.
In a Report built with the query designer. I display: Row Custumer Category Material ListPrice SalesPrice 1 K1 C1 M1 5 4 2 K2 C1 M2 6 5
-
New PC Suite 6.8 Update
Hi All, A new update for PC Suite has been released today. I have made a new announcemnt on the News and Announcements board. Cheers Karim
-
Firefox 4 is loading multiple windows
After updating to Firefox 4, in addition to loading my window with all my saved tabs from the last session, it also loads additional multiple windows with a single blank tab. How do I make it stop doing this?
-
Regarding finding stock outs of material
Dear All, I want to make a Z report of the number of days for which stock was Zero for a particular period. I dont want to use Standard report MC.9 as there required to count stock out days manually. Please guide me from which tables I can bring the
-
Requery form data block is empty after updating notification attributes
Hello, we build a form to approve/reject open WF notifications. The form data block is based on wf_notifications, wf_local_user_roles, wf_notification_attributes and wf_comments and some additional PSB tables. We use the following API's to perform th