2011-07-19 6 views
3

EclipseからリモートJavaアプリケーションをデバッグしようとしています。次のJVMオプションを使用してリモートアプリケーションを起動します。「server = n」は、リモートアプリケーション(ソケットアタッチ)に接続するEclipseではなく、リモートアプリケーションをEclipse(ソケットリッスン)に接続し直します。Eclipseをサーバーとして使用してリモートJavaアプリケーションをデバッグする(ソケットリッスン)

-Xdebug -Xrunjdwp:transport=dt_socket,server=n,suspend=n,address=8000 

最後に、ポートでリッスンしてからリモートアプリケーションを起動するようにEclipseを設定します。アプリはEclipseに接続し、私のブレークポイントはヒットします。しかし、上記のJVMオプションを使用してリモートアプリケーションの2番目のインスタンスを起動すると、Eclipseに接続できなかったことを示す次のエラーでアプリケーションが失敗します。

ERROR: transport error 202: connect failed: Connection refused 

与えられた時間にそれに接続する唯一のリモートアプリを制限日食リモートデバッグの既知の問題はありますか?

ありがとうございました。

+1

私の経験から、これはデバッグモード(日食だけでなく)のすべてのJavaアプリケーションに適用されます。それはクライアントの制限ではありません。しかし、私は、VMモニタが異なる必要がある部分を知りません。 (おそらく別のデバッグエージェントですか?) – h3xStream

答えて

1

アプリケーションの2番目のインスタンスをデバッグするには、別のポートアドレス(8000以外)で2番目のインスタンスを起動し、デバッグセッションを開始するときにその新しいポート番号を参照する必要があります。

+0

ディーン、それはデバッガがDebugeeのクライアントだった場合です。 Javaは、debugeeがクライアントであり、デバッガがサーバである別のデバッグ方法を提供します。デバッガは、debugeeが起動する前にポートで待機することが期待されます。私は、デバッガが1つの固定ポートでリッスンし、すべてのデバッグされたアプリケーションがその同じポート上のデバッガに接続し直されることを望みました。残念ながら、このモードではデバッガが一度に1つの接続しか受け付けないことが実験的に分かっているため、これは機能しません。 –

+0

それは本当です(私は何とかあなたの質問のサーバーの部分として動作するEclipseを使っていませんでした)。これを達成するためにAFAIKを使用するには、ポートごとに1回、Eclipseの複数インスタンスを開始する必要があります。 – DeanHorak

関連する問題