【发布时间】:2012-03-06 23:08:44
【问题描述】:
我创建了一个简单的 1 文件 java 应用程序,它遍历一个循环、调用一些函数、分配一些内存、添加一些数字等。我通过 eclipse 的 Run As->Java Application 运行该应用程序。
正在运行的应用程序显示在Local 下的 Java VisualVM 中。
我双击该应用程序并转到 Profiler 选项卡。
默认设置为:
Start profiling from classes: my.main.package.**
Do not profile classes: java.*, javax.*,
sun.*, sunw.*, com.sun.*
我点击CPU。 CPU 和 Memory 按钮灰显。什么都没有发生。
Status 表示profiling inactive。
当我的应用程序终止时,Status 表示 application terminated。
我在这里做错了什么?我需要调整一些设置吗?启动应用程序时是否需要设置 VM 标志?
【问题讨论】:
-
@Mikaveli 我会考虑的。但是,正如我在下面描述的那样,它实际上没有用。我仍然无法使用
-J-D...选项将jvisualvm指向从eclipse 启动的东西。我感谢您的洞察力并尝试提供帮助,但遗憾的是它没有奏效。另请注意,此问题已关闭。 -
关于 hsperfdata 的注释是 JVisualVM(和其他应用程序)从中获取进程信息的地方 - 学习这将有助于您和其他人在未来调试任何问题。如果
-J选项不起作用,这只能是因为您没有将它指向实际的 java.io.tmdir(Eclipse 会覆盖标准位置)。这是将 JVM 参数传递给 JVisualVM 的记录方法。它现在起作用的原因很容易与我提到的错误(文件夹位置的大小写敏感)有关,该错误根据您登录的用户名的大小写“自行修复”。值 15 代表? :) -
我不同意这个被关闭,因为我遇到了完全相同的问题!我在这里尝试了这些建议,但没有运气,并想添加我自己的答案:您最好安装 Eclipse 插件,地址为 visualvm.java.net/eclipse-launcher.html 。它对我有用。
-
@KevinPauli 我要求关闭它,因为我无法再重现该问题。从那以后我也没有遇到过这个问题。我不完全确定是什么情况导致了这个问题。
-
这个问题仍然有很多流量。也许我们可以重新打开它,以便将来帮助某人?
标签: java debugging profiling visualvm