5

最高のデバッガーをリモート Glassfish インスタンスに接続しようとしています (リモートとは、同じ VM 内だけでなく、同じ物理マシン上で実行されていないことを意味します)。

私のglassfishドメイン構成は「デバッグ」フラグがチェックされており、起動中にserver.logが報告します

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

これは、(私の考えでは)デバッグが実際に有効になっていることを示しています。

ただし、デバッガーを接続しようとすると失敗します。次のセッションは例です (PuTTy で実行):

$ jdb -connect com.sun.jdi.SocketAttach:port=9009
java.net.ConnectException: Connection refused
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:385)
    at java.net.Socket.connect(Socket.java:529)
    at com.sun.tools.jdi.SocketTransportService.attach(SocketTransportService.java:204)
    at com.sun.tools.jdi.GenericAttachingConnector.attach(GenericAttachingConnector.java:98)
    at com.sun.tools.jdi.SocketAttachingConnector.attach(SocketAttachingConnector.java:72)
    at com.sun.tools.example.debug.tty.VMConnection.attachTarget(VMConnection.java:358)
    at com.sun.tools.example.debug.tty.VMConnection.open(VMConnection.java:168)
    at com.sun.tools.example.debug.tty.Env.init(Env.java:64)
    at com.sun.tools.example.debug.tty.TTY.main(TTY.java:1010)

Fatal error:
Unable to attach to target VM.

その動作の原因は何ですか?

編集

この jdb コマンドラインは、Web での Glassfish デバッグ テストの例として提供されていることに注意してください。これを使用した理由は次のとおりです。

また、この jdb デバッグ セッションをローカルで実行していることにも注意してください (つまり、PuTTy を使用してそのマシンに接続しているため、Glassifh が実行されているマシンで jdb を呼び出しています)。

4

2 に答える 2

0

デバッグする JVM がリモート マシン (別の IP アドレスを持つマシン) にある場合は、アタッチ オプションの一部としてホスト名または IP アドレスを含める必要があります。

jdb -attach <hostname-or-address>:<port-number>

jdb はスマートですが、JPDA クライアントを待っているポートを見つけるためだけにネットワークを検索することはありません。

jdb に関するこのドキュメントを参照してください。

于 2012-05-09T20:23:00.707 に答える
0

同じマシンを使用しているため、jdb -attach 9009代わりに試してください。

それでもうまくいかない場合は、jdb のドキュメントを参照してください。これは、VM をデバッグ用に準備するために非常に異なるオプションを使用するためです。

于 2012-05-09T12:58:50.300 に答える