JVisualvm: Как получить дамп кучи после завершения приложения?

Я искал об этом, но не нашел способа получить дамп кучи после завершения приложения.

Из Eclipse я запускаю процесс создания нового проекта с использованием разработки плагинов Eclipse. На уровне кода у меня два подхода к созданию нового проекта. Я хочу сравнить оба подхода.

Я использовал JVsualVm для анализа данных, генерируемых в процессе создания нового проекта.

Поскольку мой процесс заканчивается его выполнением, я хочу получить дамп кучи этого запущенного приложения.

Но проблема в том, что после запуска процесс останавливается, он удаляется из представления приложения JvisulaVM, и я не могу получить дамп кучи.

Так есть ли способ получить дамп кучи остановленного приложения из JVisualVm, так как у меня все еще есть вкладка этого запущенного приложения, но приложение удалено из дерева представления приложения.

3 ответа

Вы можете создать его программно, когда приложение завершится: https://blogs.oracle.com/sundararajan/entry/programmatically_dumping_heap_from_java

Ладно, это еще не конец, но, может быть, этого достаточно для ваших нужд.

Это просто невозможно. После завершения приложения его память, включая кучу, исчезла.

Даже я пытался сделать то же самое, чтобы получить детали кучи от JVisualVM для MBeans, который я создал.

Я узнал, что после завершения выполнения приложения мы не можем получить от него подробности.

[Изменено]

Конечно, вкладка остается в JVisualVM, с которой они не активны.

Другие вопросы по тегам