开发者

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

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

上一篇:

下一篇:

精彩评论

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

最新问答

问答排行榜