JVisualvm: Как получить дамп кучи после завершения приложения?
Я искал об этом, но не нашел способа получить дамп кучи после завершения приложения.
Из Eclipse я запускаю процесс создания нового проекта с использованием разработки плагинов Eclipse. На уровне кода у меня два подхода к созданию нового проекта. Я хочу сравнить оба подхода.
Я использовал JVsualVm для анализа данных, генерируемых в процессе создания нового проекта.
Поскольку мой процесс заканчивается его выполнением, я хочу получить дамп кучи этого запущенного приложения.
Но проблема в том, что после запуска процесс останавливается, он удаляется из представления приложения JvisulaVM, и я не могу получить дамп кучи.
Так есть ли способ получить дамп кучи остановленного приложения из JVisualVm, так как у меня все еще есть вкладка этого запущенного приложения, но приложение удалено из дерева представления приложения.
3 ответа
Вы можете создать его программно, когда приложение завершится: https://blogs.oracle.com/sundararajan/entry/programmatically_dumping_heap_from_java
Ладно, это еще не конец, но, может быть, этого достаточно для ваших нужд.
Это просто невозможно. После завершения приложения его память, включая кучу, исчезла.
Даже я пытался сделать то же самое, чтобы получить детали кучи от JVisualVM для MBeans, который я создал.
Я узнал, что после завершения выполнения приложения мы не можем получить от него подробности.
[Изменено]
Конечно, вкладка остается в JVisualVM, с которой они не активны.