web-dev-qa-db-ja.com

WebStormをリモートnode.jsデバッグセッションに接続する

Linux VM in OracleVirtualBox内でNode.jsアプリケーションを実行しています。VMのポート5858はローカルホストのポート5858に転送されます。

ホストオペレーティングシステム(Windows 7)でWebStormを実行しています。 WebStormで、Run >> Edit Configurations....をクリックしてから、追加ボタン(プラス記号)をクリックして、Node.js remote debugを選択します。次に、構成の名前を入力し、ホストを127.0.0.1のままにし、ポートを5858のままにします。 OKをクリックし、ノードアプリがVMで--debugフラグを使用して実行されていることを確認します。

次に、WebStormツールバーのバグアイコンをクリックすると、WebStormIDEの下部にデバッガーが表示されます。

接続が正常に行われたことを確認するにはどうすればよいですか?ブレークポイントは機能せず、WebStormのコンソールは空のままです(情報がLinux VMのコンソールに送信されている間)。リモートデバッグセッションを機能させるために何をすべきかを誰かが提案できますか?

20
52d6c6af

ただの代わりに

$ vagrant ssh

試してみてください

$ vagrant ssh -- -L 5858:127.0.0.1:5858

また、Vagrantfileからconfig.vm.network :forwarded_port, guest: 5858, Host: 5858行を削除し、$ vagrant reloadを実行しました。

あなたのvagrantボックスで実行します

$ node --debug-brk path/to/file.js

Node.jsリモートデバッグ実行/デバッグ構成をセットアップします。デフォルトで問題ありません(ホスト127.0.0.1およびポート5858)。

Vagrant Boxではなく、ホストマシンから以下を実行します。

$ telnet 127.0.0.1 5858

次のような応答があります

Type: connect
V8-Version: 3.14.5.9
Protocol-Version: 1
Embedding-Host: node v0.10.28
Content-Length: 0

そうでない場合は、ポートフォワードに問題があります。ホスト側で別のポートを試して、以前に設定されたWebstormの実行/デバッグ構成をポート5858から新しいポートに更新することができます。

次に、NodeJSデバッグ構成を実行します。すぐにファイルが取得され、デバッグできるようになります。

私はPHPStormに基づいて手順を実行しましたが、同じである必要があります。 NodeJSプラグインがインストールされている限り、すべてのIntelliJベースのIDEで動作すると思います。

21
2upmedia

1)WebStormマニュアルから:

デバッグするアプリケーションが物理的にリモートのホストで実行されている場合は、Node.jsサーバーでポート転送を保証するプロキシまたはその他のソフトウェアを実行する必要があります。デバッグポートはローカルホストネットワークインターフェイスでのみ開くことができるため、これが必要です。ローカルホストネットワークインターフェイスは別のマシンからアクセスできないため、デバッグセッションの開始時にWebStormはそれに接続できません。

2)VMのローカルホストはホストのローカルホストと同じではありません(奇妙に聞こえます)。

3)V8デバッガーはローカルホストでリッスンしています

解決:

LinuxVMにsshプロキシを設定できます。ssh -L 5858:127.0.0.1:5858 <vm_user>@<vm_ip> -NそしてここであなたはWindowsでそれを行う方法の答えを見つけることができます-> stackoverflow 上記を行う場合、WebStormでのデバッグ構成はホスト:127.0.0.1ポート:5858になります

WebStormがリモートデバッグセッションに接続されているかどうかは、[デバッガ]タブと[変数]パネルを確認して確認できます。 接続できません接続されています

16
Damian Krawczyk

これは私のLinuxDebianVMで行っていることです。

バランサーをインストールする

Sudo apt-get install balance -y

バランサーにルートを作成して、5858ポートを5859に再ルーティングします

balance 5859 127.0.0.1:5858

アプリを起動します

node --debug app.js

これで、ポート5859のVM)の外部からアクセスできます。

5
nicco82

ちょっと注意してください、これを試したとき、私は--debug-brkを使わなければなりませんでした。 --debugだけで実行すると、接続後にWebStormがブレークポイントを設定できませんでした。

2
Luciano