The JVM for Java is written in c++ language. When a JVM crashes it creats a file in hard disk from where the class is running. The file contains name of error. For Example EXCEPTION_ACCESS_VIOLATION. So how do you solve this error. The error file may state the thread in which the error occured. Once that is known you can apply some logic regarding what may the reason for crash.
If you are facing error in awt.dll and AWT-Windows" daemon, chances are that you are getting this error because of request focus. Check again the request focus calls. Some of the request focus may not be useful.