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/