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 エラーを引き起こします。
Web 開発者向けの Eclipse Java EE IDE である fedora 11 を使用しています。(ビルド ID: 20090621-0832)
誰かがこれを修正する方法を知っているかどうか、または少なくともより良いログを有効にする方法を知っているかどうかを尋ねています (つまり、すべてのコンソール出力をログにキャプチャして、画面に表示される最初のコンソールを確認できるようにします)。ミリ秒)
ありがとう!