質問

いるjavaアプリケーションlinuxで動作する機です。いるjavaアプリケーション:

java myapp -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=4000, suspend=n

スーパーコンピュータを使用してポート4000TCPこのLinuxマシン。使っていeclipseからWindows XPの機械を接続するように願いいたします。スーパーコンピュータを使用して、ポートwindowsます。

両機のLANがないのですが接続し、デバッガを、Javaアプリケーションなぜですか?

役に立ちましたか?

解決

編集: よくある人々の素材のカットアンドペーストを呼び出します。その答えいたしたした関係のOPです。この現代的な呼び出しスタイルを含むにより、従来のポート8000):

java -agentlib:jdwp=transport=dt_socket,server=y,address=8000,suspend=n <other arguments>

独自の答えます。


してみてください:

java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=4000,suspend=n myapp

二つのポイントはこちら

  1. スペースを含めな runjdwp オプションです。
  2. オプションのクラスの名前です。の他の引き後のクラス名を引数のプログラム!

他のヒント

JDK 1.3またはそれ以前のバージョンの場合:

-Xnoagent -Djava.compiler=NONE -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=6006

JDK 1.4の場合

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

新しいJDKの場合:

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=6006

あなたのニーズに基づいて、ポート番号を変更してください。

のJava技術情報から

  

以降5.0から-agentlib:JDWPオプションは、ロードおよび指定するために使用されます   JDWPエージェントのオプション。 5.0より前のリリースでは、-Xdebugと   -Xrunjdwpオプションが使用されている(5.0実装も-Xdebugと-Xrunjdwpオプションをサポートしていますが、新しい-agentlib:5.0でJDWP剤がにJVM TIインタフェースを使用しようJDWPオプションであることが好ましいです   VMではなく、古いJVMDIインタフェース)

JVMツールインターフェイスのドキュメントするから注意すべきもう一つは、:

  

JVM TIは、JDK 5.0で導入しました。 JVM TIは、Java仮想マシンプロファイラー・インターフェース(JVMPI)とJDK 6のように、もはや提供され、Java仮想マシンデバッグインタフェース(JVMDI)を置き換えます。

手順:

  1. 始まりはリモートjavaアプリケーションとデバッグオプションとしては、上記ます。
  2. Eclipseの設定のためのリモートデバッグを指定するホストとポートです。
  3. スタート-リモートデバッグEclipseとの接続に成功した。
  4. セブレークポイントやデバッグ.
  5. したい場合はデバッグから適用開始利用suspend=y、そうするこ遠隔用停止までに接続したときからeclipse.

ステップによるステップのガイドJavaリモートデバッグ 全詳細

答えを覆Java>=9:

Java9+は、JVMのオプションのニーズは若干の変更によるprefixingのアドレス、IPアドレスの機械のJVM、 *:

-agentlib:jdwp=transport=dt_socket,server=y,address=*:8000,suspend=n

この変更に記 https://www.oracle.com/technetwork/java/javase/9-notes-3745703.html#JDK-8041435.

Java < 9、ポート番号を十分に説明します。

こうしておきたい設定Eclipseのデバッガのためのリモートデバッグ:

Eclipseの設定

1."Run"ボタンをクリックし
2.を選択し、デバッグの構成
3.を選択し"リモートJavaアプリケーション"
4.新たなコンフィグレーション

  • 名前:GatewayPortalProject
  • プロジェクト:GatewayPortal-ポートレット
  • 接続タイプ:ソケット付
  • 接続性i)localhost ii)8787

のためのJBoss:

1.の変更 /path/toJboss/jboss-eap-6.1/bin/standalone.conf おvmとしてStrncasecmpは、以下の行を削除し、#:

JAVA_OPTS="$JAVA_OPTS -agentlib:jdwp=transport=dt_socket,address=8787,server=y,suspend=n"

たTomcat:

catalina.バット ファイル:

ステップ1:

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

ステップ2:

JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n"

ステップ3:ラTomcatからのコマンドプロンプトが以下のように:

catalina.sh jpda start

しを設定する必要がありま ブレークポイント のJavaクラスをご希望のデバッグ.

私がここで強調したいのは、 めの引数が重要で.

私にとって java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000 -jar app.jar コマンド 開デバッガポート,

java -jar app.jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000 コマンド .

デバッグの最良のオプションは、ログを作成し、ログを分析することです。しかし、いくつかのケースでは、我々は、サーバー上にデプロイされたWebアプリケーションをデバッグする必要があります。

<のhref = "http://easybook4u.com/index.php/2017/07/08/how-to-remotely-debug-a-java-web-application-deployed-on-amazon-ec2を参照してください。 /」のrel = "nofollowをnoreferrer">リモートデバッグのJava Webアプリケーションのリンク。リモートデバッグの完全な流れは、ここに記載されています。それに役立つことを願っています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top