Как автоматически подключить 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 в настройки отладки. Это приведет к остановке программы до подключения отладчика / профилировщика.