当前位置: 首页 > 面试题库 >

使用eclipse远程调试jnlp应用程序

鲜于宏义
2023-03-14
问题内容

我正在调试jnlp应用程序,过去可以通过Eclipse对其进行远程调试,但现在不再可用。

启动它的命令是:

 /usr/java/jdk1.6.0_14/jre/bin/java -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=1445 -Djnlpx.heapsize=64m,512m -DtrustProxy=true -Xverify:remote -Djava.security.policy=/lib/security/javaws.policy -Dfile.encoding=UTF-8 -Xbootclasspath/a:/usr/java/jdk1.6.0_14/jre/lib/deploy.jar:/usr/java/jdk1.6.0_14/jre/lib/javaws.jar:/usr/java/jdk1.6.0_14/jre/lib/plugin.jar -classpath /usr/java/jdk1.6.0_14/jre/lib/deploy.jar com.sun.javaws.Main launch.jnlp
Listening for transport dt_socket at address: 1445

问题是当我连接Eclipse调试器时,它会关闭并重新启动;因此,调试器将附加到第一个进程;当这种情况消失时,调试器也是如此。

调试器脚本实际上并不重要;因为如果suspend = n,则在调试器启动之前,jnlp进程会自行重新启动。

我尝试跟踪它,但是选项-XX:TraceSupport = true(以及我尝试过的其他变体)会导致jvm错误。

我正在使用fedora 11,面向Web开发人员的Eclipse Java EE IDE。(内部版本号:20090621-0832)

我在问是否有人知道如何解决此问题,或者至少知道如何打开更好的日志记录(即,将所有控制台输出捕获到日志中;这样我就可以看看在屏幕上闪烁的第一个控制台)一毫秒)

谢谢!


问题答案:

我的老板找到了答案:

看来,“<property>”jnlp文件中的标签对于更新的JRE更具限制性。根据
Sun文档:

“对于不受信任的应用程序,只有在JNLP文件中设置的系统属性被认为是安全的,或者属性名称以“ jnlp”开头时,才由Java Web
Start进行设置。或“ javaws”。”。

似乎不受信任的状态导致应用程序使用适当的属性再次启动。

重新编译并修复了可能不相关的问题(换行符导致签名的APPLICATION.JNLP和launch.jnlp看起来不一样)之后,调试器现在可以工作了。



 类似资料:
  • 问题内容: 我创建了一个Java桌面应用程序(使用Swing),现在尝试通过使用JNLP从网络启动它使其工作。当我从终端启动应用程序时,它运行良好,但是一旦从JNLP启动它,它就不会关闭。我必须每次都手动终止该进程。 我读到如果将其用作默认关闭操作可能会出现问题,但事实并非如此。它使用(隐式)。另外,释放所有对象后,我将显式调用: 我猜想在关闭应用程序时可能会引发异常,但是我找不到从JNLP开始获

  • 问题内容: 我有一个在Linux机器上运行的Java应用程序。我使用以下命令运行Java应用程序: 我已经在此Linux机器上为TCP打开了端口4000。我使用Windows XP计算机上的eclipse,并尝试连接到此应用程序。我也在Windows中打开了端口。 这两台机器都在LAN上,但是我似乎无法将调试器连接到Java应用程序。我究竟做错了什么? 问题答案: 我注意到有些人在这里剪切和粘贴该

  • 使用远程调试 为了与qemu配合进行源代码级别的调试,需要先让qemu进入等待gdb调试器的接入并且还不能让qemu中的CPU执行,因此启动qemu的时候,我们需要使用参数-S –s这两个参数来做到这一点。在使用了前面提到的参数启动qemu之后,qemu中的CPU并不会马上开始执行,这时我们启动gdb,然后在gdb命令行界面下,使用下面的命令连接到qemu: (gdb) target remot

  • 问题内容: 我知道如何使用Eclipse调试远程Java VM,但是如何使用Java Web Start程序进行调试。我有一个仅在Java Web Start中出现的问题。它必须与安全性相关。 我需要一个可以与当前Java VM(如1.6.0_12)一起使用的解决方案。 问题答案: 与要远程调试的任何其他Java进程完全相同:您必须为VM()设置一些参数,然后连接到给定的端口。在Java Webs

  • 问题内容: 您可以使用Eclipse附加到正在运行的应用程序,类似于使用Visual Studio附加方式吗? 问题答案: 是。 如果在打开调试端口的情况下启动服务器,请将其添加到java命令中: 并且您的项目中有源代码(从技术上讲这不是必需的,但是除非您这样做,否则它是无用的),您可以通过使用host =服务器所在的机器设置“调试配置”来连接到正在运行的服务器在端口= 8888上运行(例如-参见

  • 我的webapp运行良好,我想通过Eclipse调试它。 那么当启动我的远程Java应用程序调试器时,我应该监听哪个端口呢?我的webapp上是否有一个设置我必须设置以启用调试?