S-JIS[2024-02-21] 変更履歴

GlassFish7 リモートデバッグ

GlassFish7のリモートデバッグについて。


概要

Eclipseからリモート接続してデバッグするには、GlassFish側でデバッグポートを開けて、Eclipse側から接続する。

GlassFishはデフォルトではデバッグポートが開いていない。
ドメイン起動時に--debugを付けるか、自動的にデバッグモードが開始するよう設定する必要がある。


GlassFish側の設定

ドメイン起動時に「--debug」オプションを付けると、デバッグモードが有効になる。

> asadmin start-domain --debug
〜
Admin Port: 4,848
Debugging is enabled. The debugging port is: 9,009
Command start-domain executed successfully.

デフォルトドメインであるdomain1のデフォルトのデバッグ接続ポート番号は9009。

「Debugging is enabled. The debugging port is: 9,009」のメッセージが出るのは、設定が「address=9009」になっている場合。
デフォルトでは「address=*:9009」になっていて、このメッセージは表示されない。(が、デバッグ接続自体は出来る)


デバッグ接続用のポート番号は以下の設定ファイルで設定されている。

glassfish7/glassfish/domains/domain1/config/domain.xml:

〜
      <java-config classpath-suffix="" debug-options="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:9009" system-classpath="">
〜

デフォルトでは「address=*:9009」となっているが、「address=9009」に変えた方がいいかもしれない。
address=9009」にすると、ドメイン起動時にデバッグポートのポート番号が表示されるため。
(「address=*:9009」だとドメイン起動時に何も表示されないが、デバッグ接続自体は出来る)


ポート番号は管理コンソールでも確認・変更できる。

設定名 説明 デフォルト
Debug ドメイン起動時に自動的に(--debugオプション無しで)デバッグモードになるかどうか false
Debug Options -agentlibの設定 -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:9009

値を変更した場合、Saveボタンを押してもdomain.xmlファイルに反映されるだけで、ドメインを再起動しないと動作は変わらない。


Eclipse側の設定

Eclipse側は普通のリモートデバッグの設定でいい。

設定名 値の例 概要
Connection Type Standard (Socket Attach) 相手に接続する(GlassFishのドメインが先に起動している必要がある)
Connection Properties Host localhost GlassFishのホスト名
Port 9009 GlassFishのデバッグポート

GlassFish7へ戻る / GlassFishへ戻る / 技術メモへ戻る
メールの送信先:ひしだま