2016-07-12 7 views
7

VSコードEADDRINUSEエラーのデバッグのNode.js私は、端末が開いたとき、私はこのメッセージを取得VSコードしかし、上のNode.jsアプリケーションをデバッグしようとしています

エラー:::: 5858

をEADDRINUSEを聞きます

私のアプリケーションは、StrawJS(https://github.com/simonswain/straw)と呼ばれるフレームワークを使用し、同時にいくつかの異なるプロセスを開始します。私は同じデバッガを使用しようとする多くのプロセスが存在するため、これがエラーの原因だと思います。

私は同様の質問(VSCode will not stop on breakpoints when first node prcess forks a second)を見つけましたが、attach.jsファイルのポートを設定しても問題は解決しませんでした。

これは私の実際のlaunch.jsonファイルです:

{ 
"version": "0.2.0", 
"configurations": [ 
    { 
     "name": "Launch", 
     "type": "node", 
     "request": "launch", 
     "port": 5858, 
     "program": "${workspaceRoot}/run.js", 
     "stopOnEntry": false, 
     "args": [], 
     "cwd": "${workspaceRoot}", 
     "preLaunchTask": null, 
     "runtimeExecutable": null, 
     "runtimeArgs": [ 
      "--nolazy" 
     ], 
     "env": { 
      "NODE_ENV": "development" 
     }, 
     "externalConsole": true, 
     "sourceMaps": false, 
     "outDir": null 
    } 
]} 

ありがとうございました!

+1

ノードがこのポートをすでに別のプロセスによって使用されていると判断したため、このエラーが発生しました...別のポートを試しましたか? –

+0

はい、私はいくつかの異なるポートを試しました –

答えて

1

私は同じ問題がありました。 CMDからノード--debugを起動した場合は、VSコード内のAttach to Processだけにする必要があります(同じポートのVSコードから再度起動しようとすると、エラーが発生します - これは間違いでした)。 - [デバッグ開始

{ 
    "type": "node", 
    "request": "attach", 
    "name": "Attach to Process", 
    "port": 5858 
} 

左上隅にあるドロップダウンでプロセスにアタッチし、緑の再生ボタンを押して選択します。

はこのようなものでlaunch.jsonに設定オブジェクトを添付を定義します。

+0

VSCodeコンパウンドの起動設定で[ノード]プロセスオブジェクトと(gdb)起動プロセスオブジェクトをアタッチすると、評判ポイントを与えた上記の優れた回答はまだ機能しますか?左上隅のドロップダウンで複合起動オプションを選択し、緑色の再生ボタンを押してください。 - Debugging.soを起動して、カスタムC++アドオンを呼び出してからC++アドオンのブレークポイントを実行するnode.jsプロセスにステップインします。ブレークポイントのデバッグのための元のnode.jsプロセスに戻りますか?ありがとうございました。 – Frank

+0

本当に申し訳ありませんが、アドオンに関する経験はありません。しかし、これはVSCodeをノードに接続する手順です。デバッガの組み合わせには影響しません。 – stijena

+0

EADDRINUSE:PORT 5858の問題は、DELLラップトップがドッキングされ、会社のイーサネットネットワークに接続されているときに、ノードv6.11.1を搭載したRedHat Linux仮想ボックスを実行している自分のDELL WINDOWS 10ラップトップでのみ発生します。会社のネットワークに接続していないと、EADDRINUSEの問題は発生しません。同僚は、ポート5858がすでにプロキシ、おそらくHTTPプロキシで使用されている可能性があると考えていましたが、EADDRINUSEが起きたときにWindows 10端末とRedHat Linux仮想ボックスでnetstatを実行したとき、ポート5858の入力はありませんでした。この問題を解決しますか?ありがとうございました。 – Frank

関連する問題