Re: Finding Error in Applet.
Sanny wrote:
....
There is nothing wrong with the code as When the program runs It hangs
one 1/10 times. Other 10 times it performs and give results as
expected. But sometimes for same input it hangs. But when I restart
the Applet it works 9/10 time.
Is there any debugger which downloads applet just like a browser and
then provide error details when it hangs.
In this situation I would avoid investing a lot of time and effort in
changing the environment. *Anything* you do to debug this carries the
risk of reducing the failure frequency without removing the underlying
bug. A 1-in-10 failure is far easier to debug than a 1-in-100 failure.
Instead go with desk-checking combined with inserting System.err.println
statements in potentially relevant places. The sort of thing you should
be looking for is a situation in which you have a loop in the set of
resources that can be held by a thread while waiting for another resource.
For example, suppose you have a pair of objects A and B that are both
used for wait-notify, and you have two threads such that:
Thread 1 owns the lock associated with A, and is waiting for B.
Thread 2 owns the lock associated with B, and is waiting for A.
Obviously, neither thread can make progress.
In general, you should be able to write an ordered list of lockable
resources such that a thread waiting for a resource never holds anything
that appears later in the list.
Also, check that all graphics component manipulation is in the event
dispatch thread.
See http://home.earthlink.net/~patricia_shanahan/debug/ for some more
ideas on debug.
Patricia