如何调试/记录/跟踪applet加载问题?

时间:2009-07-23 17:07:54

标签: java debugging logging applet trace

最近我们的两个客户报告了我们的applet问题。查看java插件控制台,它充满了ClassNotFoundException,因此我们的代码都没有被执行。

我已经能够使用磁盘上有0个可用空间的虚拟PC映像重现堆栈跟踪,但是当我恢复一些磁盘空间时,问题就消失了,并且用户告诉我他们的磁盘未满;他们能够创建新文件。

我们的applet需要java 6,问题出现了jre的更新1,10和14。我们还尝试了不同的浏览器(IE和Firefox),清除浏览器和java缓存,......

如何调试或跟踪jvm加载applet的内容?

我认为问题在于Windows上的某些安全指令,所以我使用Sysinternal的Process Monitor记录活动,但我真的不知道在哪里查看。

4 个答案:

答案 0 :(得分:6)

Java缓存很可能搞砸了。在控制面板中打开Java并删除所有临时文件以查看它是否消失。

登录Java控制台以加载小程序可以启用,这有很大帮助(即使插件非常神秘)。见http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment-guide/tracing_logging.html

答案 1 :(得分:0)

我一直在查看JDK的插件源代码,我发现在设置环境变量JPI_PLUGIN2_DEBUG的日志中还有其他调试信息。 不幸的是,我仍然只看到ClassNotFound例外。

我发现了一段吞下所有异常的插件代码,所以也许我的用户问题就在那里......

答案 2 :(得分:0)

前一段时间有过类似的问题。在我们的例子中,问题似乎是如何在网页上设置applet标记。如果它的顺序错误或包含codebase属性,则会以6u10 +失败。这对我们有用:

<applet name="DMGANTT" archive="DMGantt.zip" code="dm.applet.DMGanttApplet" 
 width='100%' height='100%' mayscript="mayscript">

答案 3 :(得分:0)

我们的一位客户遇到了类似的问题。我们发现在客户端上与代理配置相关的某些Java版本中存在一个奇怪的错误。有关详细信息,请参阅此文章

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6723715

另外,由于其他原因,我们的applet因新版本而失败。

现在,在类似的情况下,我要求他们检查javatester.org,以便我可以看到applet(通常)是否在浏览器中加载OK。如果该页面加载正常,则在我们的applet(或页面)上出现问题。否则,这是他们配置中的问题。无论如何,我帮助他们,但它更容易调试。