VisualVM启动程序错误

时间:2012-08-09 21:06:32

标签: java eclipse plugins profiling

我正在尝试使用Eclipse VisualVM launcher。它似乎很不错,除了它似乎产生一个实例,如果VisualVM来不及我的应用程序的任何分析。我的应用程序在分析器甚至初始化之前完成执行;一旦启动,会弹出一个错误窗口,说:cannot open requested application。然后它显示运行Eclipse的VM(标记为“org.eclipse.equinox.launcher.Main”)。如何让它等待我的应用程序并进行适当的分析?

5 个答案:

答案 0 :(得分:14)

这可能为时已晚,但我遇到了同样的问题,设置断点然后在调试模式下启动并没有任何帮助。我最终发现VisualVM将其临时数据保存在我的Windows机器上的文件夹%TMP%/ hsperfdata_ [username]中,例如C:\ Users \ Jacob \ AppData \ Local \ Temp \ hsperfdata_Jacob。事实证明,该进程没有足够的权限来访问该文件夹,所以我放宽了对它的权限,现在它工作得很好。希望这对遇到同样问题的人有用!

答案 1 :(得分:9)

我知道那个问题。我总是想出的唯一一个穷人的解决方案是:

  1. 在源代码中设置断点
  2. 以调试模式启动程序
  3. 连接探查器
  4. 让程序继续
  5. VisualVM只需要一点时间就可以将配置代理注入到您的VM中,我非常确定它只允许进行远程分析。

    作为替代方案,您可以使用YourKit,它可以从一开始就对您的应用程序进行概要分析。这样,在VM启动时注入概要分析代理:

    java -agentpath:c:\yourkit\yjpagent.dll FooClass
    

    我很好奇为什么VisualVM不提供此选项,因为它在技术上是可行的。无论如何,我认为调试技巧是Eclipse中的一个很好的解决方案,除非你也对类加载等感兴趣。

答案 2 :(得分:5)

在Windows上,以管理员身份运行Eclipse。

答案 3 :(得分:0)

这是一个愚蠢的解决方案,但有效。在这里:

为您的应用添加无限循环包装,例如“while(true){your_app}”。

当你的程序运行时间更长时,定时噪音也会消失。

答案 4 :(得分:-1)

您只需要以管理员用户身份运行 VisualVM 可执行文件(Windows 10)。