2012-09-15 8 views
13

Jeśli węzeł działaW jaki sposób debugujesz serwer Node.js z Chrome/WebKit jako zdalnym debugerem?

node --debug server.js 

To daje mi numer portu xxxx, należy użyć tego numeru portu przy uruchamianiu Chrome?

Czy zdalnie debuguje się go od Google\ Chrome --remote-debugging-port=xxxx?

Albo jest 9222 magicznym portem, jak to jest wspomniane na całym.

Jestem na dobrej drodze, starając się uruchomić Chrome z --remote-debugger do node.js server.js

Odpowiedz

10

Węzeł-inspektor/--debug obecnie zastąpiony przez inspektora Zobacz Aktualizacja poniżej

#now deprecated/see below for update 

#install node-inspector 
npm install -g node-inspector 

#start node-inspector, listen on port 8080 (default) 
node-inspector --web-port=8080 

#in another terminal session/window: 
#while node-inspector is running, start your project in debug mode 
node --debug myproject.js 

teraz można przejść do http://your_server:8080 dla pełnego debugowania sesji myproject.js

Jeśli twój zdalny serwer nie jest dostępny na zdalnym porcie z powodu zapór ogniowych lub z innych przyczyn, możesz utworzyć do niego tunel ssh z portu 8080 na komputerze lokalnym do "localhost: 8080" na serwerze zdalnym:

ssh -L 8080:localhost:8080 [email protected] -N 

i zachować ten bieg podczas korzystania http://localhost:8080 na lokalnym komputerze do debugowania zdalnego sesja nodejs


Aktualizacja sierpnia 2017 r

węzeł uruchomić w trybie sprawdzenia:

node --inspect=0.0.0.0:9229 myproject.js 

lub jeśli chcesz, aby debugger został złamany w pierwszym wierszu myproject .JS:

node --inspect-brk=0.0.0.0:9229 myproject.js 

Następnie otwórz następujący adres URL w przeglądarce Chrome:

chrome://inspect 

kliknij 'Konfiguruj ...' przycisk i dodaj następujący cel:

ip-or-name-of-server-running-node:9229 

Po ciebie kliknij przycisk "Gotowe", powinieneś zobaczyć myproject.js pod swoimi zdalnymi celami. Kliknij łącze inspect, aby rozpocząć debugowanie. Niestety link inspekcyjny nie działa w Chrome 58 dla Ubuntu. Działa dobrze na Chrome 60 dla Windows.

+0

Czy wiesz, czy muszę uruchamiać inspektora węzłów jawnie jak w twoim przykładzie podczas uruchamiania serwera meteorytów? – Gobliins

+0

Dzięki! Działa dobrze dla mnie z 'chrome: // inspect /', jednak nie działa z kodem VS (załączone, ale punkty przerwania nie działają) i IntelliJ IDEA (drukuje "Podłączanie do ip ...") i nic więcej się nie dzieje. –

+0

do inspekcji z wiecznością i doładowania po zapisaniu użyj tego węzła 'forever -w -c '--inspect = 127.0.0.1: 3333' plik.js' – DarckBlezzer

9

Korzystanie node-inspector zdalne debugowanie aplikacji węzła z Chrome, które zostały rozpoczęte z opcją --debug jak Ty pokazane.

0
  • użyciu $ Vagrant ssh - -L 5858: 127.0.0.1: 5858

    to ssh connect to VM. also this comment would start a proxy server on port 5858; 
    
  • można przetestować za pomocą telnet 127.0.0.1 5858, aby zobaczyć, czy lokalny serwer proxy lub nie rozpoczął.

  • W VM można uruchomić węzeł z poleceniem

  • $ node --debug-brk app.js

  • utworzenia konfiguracji debugowania w internetowej burzy.
  • po uruchomieniu debugowania w czasie burzy internetowej serwer node.js w VM rozpocznie się za kilka sekund.

PS: nie trzeba dotykać pliku włóczęgi. Dotyczy: Connecting WebStorm to a remote node.js debugging session.

+0

Dziękuję, to działa. – arcseldon

4

Najnowsze wersje Node (> v6.3.0) i Chrome umożliwiają teraz korzystanie z Narzędzi dla programistów Chrome do debug a Node.JS process bez konieczności instalowania czegokolwiek innego. Wystarczy przejść --inspect do node:

$ node --inspect script.js 

Debugger listening on port 9229. 
Warning: This is an experimental feature and could change at any time. 
To start debugging, open the following URL in Chrome: 
    chrome-devtools://SOME-URL-HERE 

Wystarczy otworzyć tego adresu URL w przeglądarce Chrome, i jesteś dobry, aby przejść.

Jeśli chcesz wstrzymać skrypt natychmiast po uruchomieniu węzła, możesz również przekazać --debug-brk w tym samym poleceniu.

Powiązane problemy