Как автоматически подключить JVisualVM к краткосрочной программе?

кратко читая учебники и играя с JVisualVM, я могу вручную прикрепить его к длинному серверу или приложению Swing, но я также хотел бы использовать его для коротких программ, которые запускаются за секунду.

полагаю, я мог бы иметь свой программный блок на консоли, прикрепить JVisualVM, а затем нажать клавишу, чтобы программа выполнила свою реальную работу. Есть ли менее kludgy обходной путь?

(Это в основном для моего собственного любопытства, и было бы неплохо использовать полированный GUI как JVisualVM вместо-Xprof или HPROF).

2 ответов


Если вы используете eclipse, вы можете использовать опцию "Stop in main" в режиме отладки и добавить следующие строки в качестве аргументов к вашему процессу

-Dcom.sun.management.jmxremote.port=<fixed_port_number>
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.authenticate=false

Как только он запускается в режиме отладки и блокирует, затем присоедините к нему jvisualvm, подключаясь к процессу, используя указанный номер порта.


добавить suspend=y в настройки отладки. Это приведет к остановке программы до подключения отладчика / профилировщика.