开发者

How do I automatically attach JVisualVM to a short-lived program?

开发者 https://www.devze.com 2023-02-14 18:37 出处:网络
Briefly reading tutorials and playing with JVisualVM, I can manually attach it to a long-running server or Swing application, but I\'d also like to use it for short programs that run in under a second

Briefly reading tutorials and playing with JVisualVM, I can manually attach it to a long-running server or Swing application, but I'd also like to use it for short programs that run in under a second.

开发者_StackOverflow中文版

I suppose I could have my program block on the console, attach JVisualVM, and then hit a key to have the program do its real work. Is there a less kludgy workaround?

(This is mainly for my own curiosity, and it would be nice to use a polished GUI like JVisualVM instead of -Xprof or HPROF).


If you are using eclipse, you can use the "Stop in main" option in the debug mode and add the following lines as arguments to your process

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

Once it starts in debug mode and blocks then attach the jvisualvm to it connecting to the process using the port number specified.


Add suspend=y to your debug settings. This will cause your program to halt until a debugger/profiler is attached.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号