2008-12-03 3 views
10

Файл журнала из JVM-сбоя содержит все виды полезной информации для отладки, такие как загруженные общие библиотеки и полная среда. Могу ли я заставить JVM генерировать одно из этих программных средств; либо путем выполнения кода, который сбрасывает его или каким-либо другим способом? Или альтернативно получить доступ к той же информации другим способом?Могу ли я заставить генерировать файл журнала сбоев JVM?

ответ

0

Я уверен, что это можно сделать с помощью IBM JDK, когда я играл с их анализатором стека некоторое время назад. Один из вариантов принудительного создания дампа должен был бы вызвать исключение outOfMemoryException.

Этих инструментов могут обеспечить некоторые подсказки http://www.ibm.com/developerworks/java/library/j-ibmtools1/

+0

Ссылка, по-видимому, касается инструмента, доступного только клиентам IBM, которых я не являюсь одним из них. – DJClayworth 2008-12-03 16:54:32

2

Посмотрите на JDK Development Tools, в частности Troubleshooting Tools для захоронения кучи, печатающей информации по конфигурации, и так далее.

+0

Из инструментов [`jstack`] (http://docs.oracle.com/javase/6/docs/technotes/tools/share/jstack.html) представляется наиболее перспективным в форме` jstack -l - F -m `(` -F` не требуется, если процесс не зависает). Это дает вам стеки всех потоков, в смешанном режиме (Java и native) и заблокированные синхронизаторы, даже если процесс зависает. – PJTraill 2015-05-28 14:10:53

+0

Или посмотрите https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/toc.html для Oracle Java 8 (предыдущие ссылки - 6, но, вероятно, не совсем разные). – PJTraill 2015-05-28 14:16:31