如何调试java applet

时间:2013-04-23 09:55:56

标签: eclipse applet java

我对Java和Java小程序不是很熟悉,但我必须解决这个问题。

自JRE 7 Update 21以来,applet正在所有浏览器中投放eceptions。

enter image description here

我需要调试应用程序,因为错误没有提供任何线索(应用程序现在运行多年,它是在客户端无法再使用它的最新JRE更新之后)。

因此applet在.NET应用程序中用作JAR文件。 它被称为带有一些代码的javascript:

<html>
<head>
    <script type="text/javascript">
        var i = 0;
        var path = "\\\\\\\\reaktorm\\\\Outgoing\\\\test";
        var ext = ".tif";
        var fullPath = "";

        function nextImage() {
            if (i==2) {
                alert("There is no next image in collection!");
            } else {
                i++;
                displayImage();
            }
        }

        function previousImage() {
            if (i<1) {
                alert("There is no previous image in collection!");
            } else {
                i--;
                displayImage();
            }
        }

        function displayImage() {
            //fullPath= path + (i<10?"0"+i:i) + ext;
            fullPath= path + ext;
            alert(fullPath);
            document.webViewer.display(fullPath);
        }
    </script>
</head>
<body>
    <div style="width:100%; height:100%;">
        <applet name="webviewer" archive="..\webviewer.jar" code="my.webviewer.WebViewerApplet.class" width="100%" height="100%">
            <param name="java_arguments" value="-Xmx512m">
            <param name="image_source" value="C:\test\test.tif">
        </applet>
    </div>
    <form id="testForm" name="testForm" style="display:block">
        <input type="button" onClick="previousImage();" value="previous" />
        <input type="button" onClick="nextImage();" value="next" />
    </form>
</body>
</html>

因此,如果我把它放在html文件中并在浏览器中打开它,我会得到更高的RuntimeException。

现在我想调试以找到此异常的原因。 我有eclipse,源代码和JAR导出。

我尝试通过启动远程调试:

java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 -jar webviewer.jar

然后我尝试通过连接到locahost:5005使用“Eclipse中的调试选项”下的“远程Java应用程序”连接到那个,但我拒绝连接。

请有人指点解决方案 - 如何在eclipse中调试?

2 个答案:

答案 0 :(得分:1)

在Eclipse中,导航到Applet类,然后在Eclipse菜单中单击运行,然后调试为 Java Applet 。 Eclipse将以调试模式启动您的applet。

答案 1 :(得分:0)

The java console将为您的applet抛出的任何异常提供完整的堆栈跟踪。您可以按照链接的Oracle doc上的说明启用它。