2012-04-10 21 views
8

Kiedy pracuje nad webapp w Eclipse i Tomcat (WTP), awarie Tomcat i utworzyć plik: hs_err_pid20216.logJak analizować JVM plik katastrofy hs_err_pidXYZ.log

Próbowałem używać Eclipse MAT przeanalizować plik, ale MAT nie rozpoznaje pliku jako czegoś, z czym może sobie poradzić, próbowałem też DAT i to było to samo. Nie pojawi się w oknie dialogowym otwierania pliku.

Jaki to rodzaj pliku?

Co powinienem użyć aby je analizować?

Czy muszę dokonać zmian w tym pliku, dzięki czemu będzie możliwe dla tych narzędzi, aby je przeanalizować.

Plik dziennika jest dostępny jako GitHub gist

UPDATE:

See @Dan Cruz odpowiedzieć uzyskać więcej informacji o tym, jak radzić sobie z pliku hs_err_pidXYZ.log. Co ciekawe, przyczyną katastrofy był Jackson, który był zdezorientowany przez cykliczną relację (dwukierunkowy jeden-do-wielu), ale jest to inna historia ...

Odpowiedz

7

Jakie pliku to jest?

Jest to plik dziennika błędów HotSpot w formacie tekstowym.

Co powinienem użyć, aby go przeanalizować?

Zacznij od pobrania OpenJDK 6 source bundle. Szukaj poprzez hotspot *.cpp pliki ciągów w dzienniku błędów. Przejrzyj pliki źródłowe o wyjaśnienie tego, co zawiera dziennik błędów.

Na przykład, używając OpenJDK 7 źródeł można znaleźć siginfo (informacja system operacyjny sygnału proces) W sposobie os::print_siginfo() z os_linux.cpp, Registers (wartości rejestrów CPU) w metodzie os_linux_x86.cppos::print_context() itp

Czy muszę dokonać zmian w tym pliku sothat będzie możliwe dla tych narzędzi, aby je przeanalizować.

To byłoby niemożliwe, ponieważ Eclipse Memory Analyzer wymaga pliku sterty, który nie jest protokołem błędów HotSpot.

2

To plik tekstowy. Otwórz go w edytorze i spróbuj zrozumieć, co to znaczy.