2

这似乎是一个荒谬的问题。谷歌搜索VisualVM带来了很多信息,包括据说很容易连接到运行JVM和监视器。

好吧,事实并非如此。我不知道如何连接VisualVM到我正在运行的应用程序来挽救我的生命。我做错了什么(或者更准确地说,我做错了什么

当我启动我的程序时,该程序的新 VM 条目出现在本地 VM 窗格中,但是当我尝试“连接”时,它只是坐在那里“旋转”。最后,当我的程序退出(或我停止它)时,连接尝试失败。

启动应用程序时是否需要定义某种 VM 参数或代理?我需要以特定方式编译它吗?我需要其他一些“演员”参与吗?

我找到了一个站点,其中包含一些我在其他任何地方都没有看到的信息,但这也不起作用。

更新

在一个稍微不同但相关的主题上,我hprof在我的程序上运行了 java profiler,它生成了一个包含收集信息的二进制文件或文本文件。据说VisualVM可以打开此信息并允许对收集的内容进行可视化浏览。它打开文件并至少报告一些正确的信息,例如文件的大小和位置,但它的行为就像没有数据可显示一样。

4

1 回答 1

1

我从未尝试在 IDE 中运行 VisualVM,但如果您正在运行的应用程序和 VisualVM 进程都在同一个机器/服务器上,那么只要它正在运行,VisualVM 就应该能够“看到”另一个应用程序。

尝试以下步骤:

  • 从这里下载最新的 VisualVM 包:https ://visualvm.github.io/download.html
  • 安装它。如果您遇到任何问题,请参阅该网页上的First Steps和部分。Possible Problems
  • 在 Eclipse 中运行您的应用程序。
  • 切换到 VisualVM。您现在应该Local在“应用程序”窗口的部分下看到一个新条目。
  • 双击它,您将能够监控您的应用程序。
于 2018-10-23T21:49:46.037 回答