Beim Arbeiten an einer Webapp in Eclipse und Tomcat (wtp) stürzt Tomcat ab und erstellt eine Datei: hs_err_pid20216.log
Ich habe versucht, Eclipse MAT zu verwenden, um die Datei zu analysieren, aber MAT erkennt die Datei nicht als etwas, mit dem sie umgehen kann, ich habe auch DAT versucht, und es war dasselbe. Es wird nicht im geöffneten Dateidialog angezeigt.
Was für eine Datei ist das?
Was soll ich verwenden, um es zu analysieren?
Muss ich Änderungen an dieser Datei vornehmen, damit diese Tools sie analysieren können?
Die Protokolldatei ist als GitHub gist
verfügbarUPDATE:
Weitere Informationen zum Umgang mit der Datei hs_err_pidXYZ.log finden Sie unter @Dan Cruz reply. Für Neugierige war die Ursache des Absturzes Jackson, der durch eine zyklische Beziehung verwirrt wurde (bidirektionales Eins-zu-Viele), aber das ist eine andere Geschichte ...
Welche Art von Datei ist es?
Es ist eine HotSpot-Fehlerprotokolldatei im Textformat.
Was soll ich verwenden, um es zu analysieren?
Beginnen Sie mit dem Herunterladen des OpenJDK 6-Quellpakets . Durchsuchen Sie die Hotspot *.cpp
-Dateien nach Zeichenfolgen im Fehlerprotokoll. Sehen Sie in den Quelldateien nach, was das Fehlerprotokoll enthält.
Wenn Sie beispielsweise OpenJDK 7-Quellen verwenden, können Sie siginfo
(Betriebssystem-Prozesssignalinformationen) in der os::print_siginfo()
-Methode von os_linux.cpp
, Registers
(die CPU registriert Werte) in der Methode os::print_context()
von os_linux_x86.cpp
, usw.
Muss ich Änderungen an dieser Datei vornehmen, damit diese Tools sie analysieren können?
Das wäre unmöglich, da der Eclipse Memory Analyzer eine Heap-Datei benötigt, die das HotSpot-Fehlerprotokoll nicht enthält.