At 03:49 PM 2/29/00 , you wrote:
> I am currently working the WebLogic and JDE. I managed to figure
> out how to get the old JDB to work with WebLogic but have not had
> the time to use the new JPDA. If you don't mind, can you summarize
> all the steps that you took to get JPDA to work with WebLogic?
> Either post to the list or privately.
A number of people have emailed me with this request, so I'll answer
them all at once. I hope I remember it all. I was working on this
off & on for the last week. Took about 8-10 hours.
I am using Sun's jdk1.2.2, so YMMV with other JDKs.
1. Download & install (http://java.sun.com/products/jpda/). I think
it needs to be in your path.
2. Download & install the latest JDE (I'm using 2.1.6b20) -- it now
includes eieio, so you do not need to download and install that
separately.
3. Run thru the customize-able variables (JDEbug->Preferences &&
JDE->Project->Option->*) and set their values properly. The ones
you need to set are fairly obvious. I don't think any need to be
changed under JDE if you are already using the JDE debugger, but
I'm not 100% sure.
As I said before, I had success regardless of whether or not Emacs was
the client or the server, but I only used the Shared Memory option.
Another fella here got his to work where Emacs was the client and
WebLogics the server using sockets, but you're on your own, there.
Anyhow, change the WebLogic start command to include all of the
following:
-Xdebug -Xnoagent -Djava.compiler=NONE
and one of the following:
-Xrunjdwp:transport=dt_shmem,server=y,suspend=n
-Xrunjdwp:transport=dt_shmem,address=weblogic_server,server=n,suspend=y
This one can be configured quite a bit; check out the JPDA
documentation. In a nutshell, the first starts WebLogic as the server
process (as far as the debugging is concerned), and does not suspend
the process upon initialization. After WebLogic started up and was
waiting for some action, I started the JDE debugger
(JDEbug->Processes->Start Debugger) and then attached to the WebLogic
instance (JDEbug->Processes->Attach Process->Via Shared Memory).
Emacs will then prompt for a shared memory name, which WebLogic's JVM
printed out at the very beginning of its startup (to STDOUT). I then
suspended the WebLogic process (JDEbug->Processes->Suspend Process),
set my breakpoints, and resumed the WebLogic threads
(JDEbug->Processes->Resume Process). After I kicked off the client
process that attached to the WebLogic stuff, it eventually reached my
breakpoint and proceeded as usual from there.
The second starts WebLogic as a client process and suspends it
immediately. Prior to running it I started up the Emacs debugger, and
asked it to listen at a particular shmem location (weblogic_server in
the example above). Once I kicked off the WebLogic server, I received
a message to that effect in Emacs, I set my breakpoints, and then hit
Continue (JDEbug->Continue). I again kicked off my client process
(after waiting for WebLogic to initialize properly), and proceeded as
normal from there.
I have had the most luck in getting my breakpoints honored by very
explicitly clearing the old ones out and resetting them each time,
while the WebLogic process is suspended somehow. I'm not quite sure
if all of that care is needed, but it doesn't hurt (between all of the
and the dead chickens I wave over the monitor, it all works out well).
This is all going from memory, and can't really be tested at the
moment as my app is in a bad state. Good Luck!
Regards,
joe
[EMAIL PROTECTED]
------------------------------------------------------------------------------
Llama Fresh Farms => http://www.netaxs.com/~joc
Gay Media Resource List => http://www.netaxs.com/~joc/gaymedia.html
Perl for Win32 => http://www.netaxs.com/~joc/perlwin32.html
Perl Book Buying Guide => http://www.netaxs.com/~joc/perlbooks.html
PerlRing Homepage => http://www.netaxs.com/~joc/perlring.html
Music CD Trading => http://www.netaxs.com/~joc/cdr.html
------------------------------------------------------------------------------
Live Free, that's the message!
------------------------------------------------------------------------------