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

Java 使用eclipse远程调试jnlp应用程序,java,eclipse,debugging,jnlp,Java,Eclipse,Debugging,Jnlp,我正在调试一个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/se

我正在调试一个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错误

我正在使用Fedora11,面向Web开发人员的EclipseJavaEEIDE。(构建id:20090621-0832)

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

谢谢

这有可以设置为调试jnlp的环境变量。这对我来说一直很有效

  set JAVAWS_TRACE_NATIVE=1

  set JAVAWS_VM_ARGS=-Xdebug -Xnoagent -Djava.compiler=NONE 
            -Xrunjdwp:transport=dt_socket,address=8989,server=y,suspend=y
  javaws http://server:port/descriptor.jnlp

我的老板找到了答案:

似乎
标记 在jnlp文件中,限制性更强 使用较新的JRE。根据 :

“对于不受信任的应用程序,系统 JNLP文件中设置的属性将 仅在以下情况下由Java Web Start设置 被认为是安全的,或者 属性名称以“jnlp”开头。或 “javaws.”

它看起来像是不受信任的状态 使应用程序启动 第二次与适当的 财产


在重新编译并修复了一个可能不相关的问题后,即换行符导致签名的APPLICATION.JNLP和launch.JNLP看起来不“相同”,调试器现在正在工作。

我发现已经有一个调试器,并尝试了一些标志;我会继续努力,让人们知道结果;今天早上我发现了这篇文章()我会继续努力的。我也发现了这篇文章:太好了!你的评论帮助我找到了自己的问题。看起来JNLP被下载或解析了两次,这取决于不受信任的状态。第二次,使用的参数是在中设置的参数。所以我需要在HREF中添加我的所有请求参数,它终于可以工作了。谢谢