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のコンソールに送信されている間)。リモートデバッグセッションを機能させるために何をすべきかを誰かが提案できますか?
ただの代わりに
$ 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で動作すると思います。
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がリモートデバッグセッションに接続されているかどうかは、[デバッガ]タブと[変数]パネルを確認して確認できます。 接続できません 、 接続されています
これは私のLinuxDebianVMで行っていることです。
バランサーをインストールする
Sudo apt-get install balance -y
バランサーにルートを作成して、5858ポートを5859に再ルーティングします
balance 5859 127.0.0.1:5858
アプリを起動します
node --debug app.js
これで、ポート5859のVM)の外部からアクセスできます。
ちょっと注意してください、これを試したとき、私は--debug-brk
を使わなければなりませんでした。 --debug
だけで実行すると、接続後にWebStormがブレークポイントを設定できませんでした。