Brad Giaccio wrote [snipped]:
> ... basically what I need is to run the applet in a debugger,
> then lock it up and have the debugger tell me where all the threads
> are so I can find my deadlock.
> 
> Yes I've tried jdb and jikes with sun.applet.AppletViewer <page> 
> but when I do this appletviewer dumps core on the first line of my
> init which is super(). But by itself it doesn't dump core.

One option is to use the built-in Java stack trace mechanism.
Since this doesn't involve running under a debugger, it (hopefully)
won't crash.

First, run "appletviewer mytestapplet.html".  Get it to the
state you want to watch (deadlocked).  Then type control-backslash.
It should dump out information about the state of the VM, including
the stack trace for each of the threads.  That should help you
diagnose the deadlock.

If the control-backslash doesn't work, an equivalent approach is
to send a QUIT signal to the java process.  If you ran the appletviewer
in the background, "kill -QUIT %" will do it; otherwise you'll have to
do it by PID.

You can read more about this here:
<http://developer.java.sun.com/developer/technicalArticles/stacktrace/stacktrace.html>

You'll have to register as a developer, but it's free and it gets
you access to lots of documentation and info.  The method I suggested
is UNIX-only, but there's also a way to do it for Windows.

-- 
Preston Pfarner
It's not you, it's your search engine.  GoTo ... something better.
http://www.goto.com/

Reply via email to