2012-06-08 18 views
6

Czy jest mimo to generowanie pliku zrzutu pamięci głównej/sterty po awarii JVM? Ponieważ te pliki są zazwyczaj bardzo pomocne w wykryciu błędów w kodzie. Każda pomoc jest doceniana.Czy Sun JDK może generować pliki zrzutu pamięci głównej/sterty, gdy JVM ulegnie awarii?

cheng

+2

Wyjście ze względu na edcepcję to awaria. –

+0

Czy "można wyrzucić nową OutOfMemoryError()" wygenerować plik zrzutu? Próbowałem, ale nie udało mi się. Jeśli nie, czy możesz podać sytuację, w której można wygenerować plik zrzutu pamięci głównej/sterty. Dziękuję bardzo. – cheng

+0

IBM JVM można programowo poinformować, aby wygenerował te zrzuty, które można następnie wykonać tuż przed System.exit (0). Nie znam niezależnego od producenta sposobu, aby to zrobić. –

Odpowiedz

12

z następującymi opcjami JVM:

-XX:+HeapDumpOnOutOfMemoryError 
-XX:HeapDumpPath="/tmp" 

JVM będzie zrzucić zawartość hałdy do pliku w określonym katalogu. Zauważ, że dzieje się tak tylko wtedy, gdy zostanie wygenerowany OutOfMemoryError, ponieważ zrzut nie jest tak naprawdę potrzebny, jeśli JVM ulegnie awarii z innego powodu.

Edytuj: "Opcje boolowskie są włączone z -XX: + i wyłączone z -XX: -." docs

+0

To działa dla mnie ~ Bardzo dziękuję. – cheng

+3

Powinien być -XX: + HeapDumpOnOutOfMemoryError (z symbolem plus), ponieważ minus faktycznie go wyłącza – gerrytan