Файл журнала из JVM-сбоя содержит все виды полезной информации для отладки, такие как загруженные общие библиотеки и полная среда. Могу ли я заставить JVM генерировать одно из этих программных средств; либо путем выполнения кода, который сбрасывает его или каким-либо другим способом? Или альтернативно получить доступ к той же информации другим способом?Могу ли я заставить генерировать файл журнала сбоев JVM?
ответ
Вы можете попробовать выбросить OutOfMemoryError и добавить аргумент -XX: + HeapDumpOnOutOfMemoryError jvm. Это новый вариант 1.6, как и другие инструменты, предложенные Макдауэллом. http://blogs.oracle.com/watt/resource/jvm-options-list.html
Я уверен, что это можно сделать с помощью IBM JDK, когда я играл с их анализатором стека некоторое время назад. Один из вариантов принудительного создания дампа должен был бы вызвать исключение outOfMemoryException.
Этих инструментов могут обеспечить некоторые подсказки http://www.ibm.com/developerworks/java/library/j-ibmtools1/
Посмотрите на JDK Development Tools, в частности Troubleshooting Tools для захоронения кучи, печатающей информации по конфигурации, и так далее.
Из инструментов [`jstack`] (http://docs.oracle.com/javase/6/docs/technotes/tools/share/jstack.html) представляется наиболее перспективным в форме` jstack -l - F -m
Или посмотрите https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/toc.html для Oracle Java 8 (предыдущие ссылки - 6, но, вероятно, не совсем разные). – PJTraill 2015-05-28 14:16:31
Ссылка, по-видимому, касается инструмента, доступного только клиентам IBM, которых я не являюсь одним из них. – DJClayworth 2008-12-03 16:54:32