8

简要阅读教程并使用 JVisualVM,我可以手动将它附加到长时间运行的服务器或 Swing 应用程序,但我也想将它用于运行在一秒钟内的短程序。

我想我可以将我的程序块放在控制台上,附加 JVisualVM,然后按一个键让程序完成它的实际工作。是否有不那么笨拙的解决方法?

(这主要是出于我自己的好奇心,最好使用 JVisualVM 之类的精美 GUI 而不是 -Xprof 或 HPROF)。

4

2 回答 2

3

如果您使用的是 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 附加到它,使用指定的端口号连接到进程。

于 2012-07-17T03:40:10.113 回答
2

将 suspend=y 添加到您的调试设置中。这将导致您的程序停止,直到附加了调试器/分析器。

于 2011-04-06T09:46:15.260 回答