Java中的Size Of

4

我已经下载了 java.sizeOf,但是我遇到了这个异常。我是在eclipse中运行的。我该怎么办?

Exception in thread "main" java.lang.IllegalStateException: Instrumentation is null

2
我认为你应该添加更多细节来澄清你的问题。 - javanna
在Sourceforge上搜索“sizeof”没有返回任何结果。你有查看过项目文档吗?这个错误听起来像是你没有正确设置环境。 - Andrzej Doyle
1
@AndrzejDoyle:谷歌找到了它,所以我链接了它。(是的,它有文档说明如何设置...) - Donal Fellows
1个回答

6
在Eclipse中,点击“运行” -> “运行配置”。进入第二个标签“参数”,在“VM参数”下添加-javaagent:<路径>/SizeOf.jar。

1
缺少类文件将导致ClassNotFoundException而不是IllegalStateException。 - jwenting
@jwenting 我曾经在运行sizeOf时遇到过这个异常。所以我猜qwert也面临着同样的问题。由于问题不太清楚,我无法发表更多评论。 - freepublicview
3
在大多数这样的库中,都有一个名为premain的方法,它会被调用并传入一个 Instrumentation 对象,从而设置一个全局可访问的字段。如果该库没有被加载为代理,则不会调用 premain 方法,字段将为null。如果你使用该库,则不会因为类不在类路径中而缺失。 - Peter Lawrey
1
@Santosh,你确定SizeOf.jar在tomcat运行的目录中吗?我建议使用完整路径以避免疑虑,就像这个答案中所示。 - Peter Lawrey
1
导出 JAVA_OPTS="$JAVA_OPTS -javaagent:/home/full/path/SizeOf.jar"。是的,我已经使用了完整路径。也尝试过 export CATALINA_OPTS="$CATALINA_OPTS -javaagent:/home/full/path/SizeOf.jar" 但都没有起作用。当我从控制台运行 catalina.sh 命令时,我会看到下面这行字 - JAVAGENT: call premain instrumentation for class SizeOf 意味着正在加载该类,但仍然得到 - Instrumentation is null。 - Santosh
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接