web-dev-qa-db-ja.com

アプリケーションは「トランスポートdt_socketのリスニングをアドレス:5005で」と出力し、停止しません

典型的な引数でコードの実行を開始します。

Java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 myPackage.myMainClassname

アプリケーションが起動し、「listen for transport dt_socket at address:5005」を出力して、さらに進んでいきます。接続を待つ試みなし。実行中に接続でき、デバッグ自体が機能します。しかし、なぜアプリケーションはデバッガからの接続を待たないのですか?

構成に問題があるようですが、根本的な原因を特定できません。私はいくつかの方法でデバッグ設定を指定し、異なるポートを指定し、管理者として実行し、ファイアウォールをオフにしました。

10
MiamiBeach

接続を待機する場合は、suspend=yを指定する必要があります。デバッグは機能しています。接続しようとすると、接続できるようになります。ほとんどの場合、接続が確立されるまでブロックするsuspend=yを使用することに慣れているだけです。

suspend=nの場合、動作は予期されています。

17

メニュー「構成の実行/編集」を選択します。チェック:「構成の編集」ダイアログがポップアップします。 「+」アイコンをクリックし、リストから「リモート」を選択します。チェック:「名前なし」という名前の新しい設定が「リモート」カテゴリに表示されます。構成名を「リモートデバッグ」などのわかりやすい名前に変更します。他のパラメータは変更せず、「OK」をクリックしてください。

デバッガーの下でWebアプリケーションを実行する

IntelliJ IDEAでGradleタスク「appStartDebug」を開始します。注意:デバッガーの下でこのタスクを開始しようとしないでください。通常モードで実行します。チェック:「実行」出力ウィンドウに「listen for transport dt_socket at address:5005」が表示されるはずです。メニュー「実行/実行...」を選択し、「リモートデバッグ」構成を選択し、「デバッグ」コマンドを選択します。チェック:「デバッグ」出力ウィンドウに「ターゲットVMに接続されました、アドレス: 'localhost:5005'、トランスポート: 'socket'」が表示されます。

これで、Webアプリケーションがデバッガーの下で実行されています。ブレークポイントを設定したり、変数を監視/検査したりできます。

4
Igor Bykov