2016-07-12 3 views
7

Я пытаюсь отлаживать приложения Node.js на VS код, но, когда терминал открывается, я получаю сообщение:отладки Node.js по ошибке VS Code EADDRINUSE

Ошибка: слушать EADDRINUSE ::: 5858

Мое приложение использует фреймворк 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

У меня была та же проблема. Если вы запустили узел --debug из CMD, вы должны только присоединить к процессу в своем VS-коде (если вы попытаетесь снова запустить его из VS-кода на том же порту, это вызовет ошибку - это была моя ошибка).

Определите прикрепить объект конфигурации в launch.json с чем-то вроде этого:

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

выберите Присоединить к процессу в раскрывающемся меню в левом верхнем углу и нажмите зеленую кнопку воспроизведения - Начать отладку.

+0

Будет ли ваш превосходный ответ, который я только что наградил точками репутации, по-прежнему работает, если я объединю ваш объект Attach to [Node] Process с объектом запуска (gdb) Launch Process в конфигурации запуска VSCode и выберите комбинацию запуска в раскрывающемся списке в верхнем левом углу и нажмите зеленую кнопку воспроизведения - Запустите Debugging.so, я могу легко вступить в процесс node.js, который сначала вызывает пользовательский аддон C++, а затем войдет в контрольные точки аддонов C++, а затем вернуться к исходному процессу node.js для отладки точки останова? Спасибо. – Frank

+0

Мне очень жаль, но у меня нет опыта с аддонами. Однако это всего лишь процедура подключения VSCode к узлу; он не должен влиять на объединение отладчиков. – stijena

+0

Проблема EADDRINUSE: PORT 5858 возникает только для меня на моем ноутбуке DELL WINDOWS 10 с виртуальным ящиком RedHat Linux с узлом v6.11.1, установленным при подключении ноутбука DELL и подключении к сети Ethernet компании. Проблема EADDRINUSE не возникает, когда я не подключен к сети компании. Сотрудник сказал мне, что он думает, что порт 5858 может быть уже использован прокси-сервером, возможно, http-proxy. Но когда я запускал netstat на обоих терминалах Windows 10 и виртуальном ящике RedHat Linux, когда EADDRINUSE произошел, запись для порта 5858.How я исправить эту проблему? Спасибо. – Frank

Смежные вопросы