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

发布于 2021-01-30 16:52:04

我正在调试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)

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

谢谢!

关注者
0
被浏览
107
1 个回答
  • 面试哥
    面试哥 2021-01-30
    为面试而生,有面试问题,就找面试哥。

    我的老板找到了答案:

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

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

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

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



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看