Как установить режим отладки nodejs, не слушайте 127.0.0.1 - PullRequest
3 голосов
/ 20 января 2012

Я хочу удаленно отлаживать программу nodejs в Eclipse. Я запускаю скрипт узла с опцией отладки.

$node debug script.js

Но я не могу подключиться к узлу в Eclispe. Когда я netstat TCP-порт узла. Я обнаружил, что узел слушает только 127.0.0.1 в режиме отладки. Поэтому я не могу подключить его с другого компьютера.

Но я не могу найти какие-либо параметры запуска, которые можно изменить, чтобы прослушать любой адрес. Кто-нибудь знает, чтобы заставить его слушать любой адрес для удаленной отладки на другом компьютере?

Ответы [ 4 ]

4 голосов
/ 09 марта 2015

Это то, что я делаю в Linux Debian:

установить балансировщик

sudo apt-get install balance -y

затем создайте маршрут в балансировщике, чтобы перенаправить порт 5858 на 5859

balance 5859 127.0.0.1:5858

запустите ваше приложение

node --debug app.js

теперь вы можете получить к нему доступ из любого места через порт 5859

4 голосов
/ 22 января 2012

Я изучаю код V8, который проходит через deps / v8 / src / debug-agent. * Вплоть до deps / v8 / src / platform-posix.cpp (для linux) в метод POSIXSocket :: Bind, и он может Кажется, у меня нет выбора (если я что-то упустил).

Бьюсь об заклад, вы либо взломаете его и перекомпилируете узел, либо вам потребуется создать небольшой прокси-сервер рядом с процессом вашего узла.

3 голосов
/ 06 марта 2017

если кто-то еще наткнется на это: вы можете установить отладку узла на любой адрес, как и порт

node --debug=169.168.1.2:5858 app.js

, если это будет ip вашего удаленного компьютера или даже лучше для каждого компьютера

node --debug=0.0.0.0:5858 app.js

но учтите, что второй вариант следует использовать только в том случае, если вы отлаживаете в своей частной сети, когда вы открываете ее для всех

2 голосов
/ 03 апреля 2012

Вот отличная статья об отладке nodejs из eclipse .Обратите внимание, что внизу есть скрипт, который автор использует для пересылки localhost: 5858 на 127.0.0.1 удаленного сервера.Вы также можете просто использовать SSH-туннель .

Итак, подведем итог:

  1. начать ваш скрипт с node --debug app.js
  2. configure eclipseкак если бы вы выполняли локальную отладку
  3. , используйте сценарий node_g или настройте SSH-туннель
  4. уйдите в отпуск сейчас, когда ваш код не содержит ошибок
...