Abstürze unter Windows diagnostizieren
Im Allgemeinen wird ein Absturz entweder als nicht behebbare Ausnahmebedingung angezeigt, die von Java™ ausgelöst wurde, oder als Popup-Fenster mit einer Benachrichtigung über einen Fehler beim allgemeinen Zugriffsschutz (General Protection Fault, GPF). In diesem Dialogfeld wird normalerweise 'java.exe' als die Anwendung genannt, die den Absturz verursacht hat. Abstürze können aufgrund eines Fehlers in der Java-Laufzeit oder aufgrund eines Fehlers im nativen (JNI-) Code auftreten, der im Java-Prozess ausgeführt wird.
Versuchen Sie festzustellen, ob die Anwendung JNI-Code umfasst oder Drittanbieterpakete verwendet, die JNI-Code nutzen (z. B. JDBC-Anwendungstreiber). Ist dies nicht der Fall, dann muss der Fehler in der Laufzeitumgebung vorliegen.
Versuchen Sie, den Absturz mit minimalen Abhängigkeiten (in Bezug auf JVM-Optionen, JNI-Anwendungen und Profilerstellungstools) zu reproduzieren.
- Java-Speicherauszug erfassen. Weitere Informationen finden Sie unter Java-Speicherauszüge verwenden in der J9 VM-Referenz .
- Kernspeicherauszug erfassen. Weitere Informationen finden Sie unter Windows-Umgebung einrichten und überprüfen .
- Snap-Tracedatei erfassen. Weitere Informationen finden Sie unter Tracing Java applications in der J9 VM-Referenz .
- Anwendung mit inaktiviertem JIT ausführen. Weitere Informationen finden Sie unter Diagnosing a JIT or AOT problem in der J9 VM-Referenz . Wenn der Fehler bei inaktiviertem JIT nicht mehr auftritt, probieren Sie einige JIT-Kompilierungsoptionen aus, um festzustellen, ob der Fehler weiter eingegrenzt werden kann.
- Versuchen Sie, die Garbage-Collection-Parameter anzupassen. Weitere Informationen finden Sie unter Memory management in der J9 VM-Referenz . Machen Sie sich Notizen zu Verhaltensänderungen.
- Wenn Ihr Problem auf einem Multiprozessorsystem auftritt, testen Sie Ihre Anwendung auf einem Einzelprozessorsystem. Sie können die BIOS-Optionen Ihres SMP-Systems verwenden, um die Prozessoraffinität auf 1 zurückzusetzen und so dafür zu sorgen, dass es sich wie ein Einzelprozessor verhält. Sollte der Fehler nicht mehr auftreten, machen Sie eine Anmerkung in Ihrem Fehlerbericht. Andernfalls sollten Sie den Absturzspeicherauszug erfassen.