Domanda

Come posso eseguire il debug di un'applicazione server Node.js?

In questo momento sto usando principalmente debug degli avvisi con istruzioni print come questa:

sys.puts(sys.inspect(someVariable));

Deve esserci un modo migliore per eseguire il debug.So che Google Chrome ha un debugger da riga di comando.Questo debugger è disponibile anche per Node.js?

È stato utile?

Soluzione 3

Il V8 debugger rilasciato come parte del Google Chrome Developer Tools possono essere utilizzati per eseguire il debug di script Node.js. Una spiegazione dettagliata di come funziona può essere trovato nel Nodo .js GitHub wiki .

Altri suggerimenti

nodo-ispettore poteva salvare la giornata! Usalo da qualsiasi browser che supporti WebSocket . I punti di interruzione, profiler, livecoding, ecc ... E 'davvero impressionante.

Installa con:

npm install -g node-inspector

Quindi eseguire:

node-debug app.js

Debug

Profilazione

  1. node --prof ./app.js
  2. node --prof-process ./the-generated-log-file

Heapdump

Flamegrafi

Tracciamento

Registrazione

Librerie che restituiscono informazioni di debug

Librerie che migliorano le informazioni di analisi dello stack

Analisi comparativa

Altro

Eredità

Questi funzionano ma non vengono più mantenuti o non sono più applicabili alle versioni dei nodi moderni.

Node ha una propria costruito nel debugger GUI a partire dalla versione 6.3 (usando DevTools di Chrome )

 nodi builtin debugger GUI

È sufficiente passare il flag ispettore e ti verrà fornito con un URL per l'ispettore:

node --inspect server.js

Si può anche rompere sulla prima riga passando --inspect-brk invece.

Per aprire una finestra di Chrome automaticamente, utilizzare il ispezionare-processo modulo.

# install inspect-process globally
npm install -g inspect-process

# start the debugger with inspect
inspect script.js

Node.js versione 0.3.4+ è dotato di supporto per il debugging.

node debug script.js

Manuale: http://nodejs.org/api/debugger.html

codice Visual Studio sarà la mia scelta per il debug. Nessun sovraccarico di installazione di strumenti o roba npm install. Basta impostare il punto di partenza della tua applicazione in package.json e VSCode creerà automaticamente un file di configurazione all'interno della vostra soluzione. E 'costruito su Electron , su cui sono costruiti editor come Atom.

  

VS Codice dà simile esperienza di debug come si potrebbe avere   avuto in altri IDE come VS, Eclipse, ecc.

 entrare descrizione dell'immagine qui entrare image description qui

Io personalmente usare JetBrains WebStorm in quanto è l'unico IDE JavaScript che ho trovato che è grande sia per il front-end e back-end JavaScript.

Si lavora su più sistemi operativi e ha Node.js debug integrato (così come un sacco di altre cose] ( http://www.jetbrains.com/webstorm/features/index.html ).

I miei unici 'problemi' / articolo nella sua lista sono sono :

  1. Sembra essere più affamato di risorse su Mac rispetto a Windows non sembra più un problema nella versione 6.
  2. Sarebbe bello se avesse il supporto Snippet (come quelle di Sublime Text 2 - vale a dire tipo 'divertimento' e toccare 'scheda' per mettere in una funzione Vedere @WickyNilliams commentare qui sotto -.. Con Modelli in diretta un supporto anche hanno frammento

Teseo è un progetto di ricerca da Adobe che consente di eseguire il debug del codice di Node.js nella loro Editor Open Source Staffe . Ha alcune caratteristiche interessanti come la copertura del codice in tempo reale, l'ispezione retroattiva, albero chiamata asincrona.

screenshot

Un sacco di grandi risposte qui, ma vorrei aggiungere la mia vista (in base a come il mio approccio evoluto)

Debug Logs

Ammettiamolo, tutti noi amiamo una buona console.log('Uh oh, if you reached here, you better run.') e, talvolta, che funziona alla grande, quindi se siete reticenti a spostare troppo lontano da almeno aggiungere un po 'bling al vostro log con di Visionmedia di debug .

debug interattivo

Per quanto a portata di mano, come la registrazione della console può essere, per eseguire il debug professionalmente è necessario rimboccarsi le maniche e rimanere bloccati in. Impostare i punti di interruzione, passo attraverso il codice, esaminare gli ambiti e le variabili per vedere che cosa sta causando che il comportamento strano. Come altri hanno già detto, nodo ispettore è davvero api-ginocchia. Fa tutto ciò che si può fare con la familiare interfaccia che Chrome DevTools debugger incorporato, ma usando. Se, come me, si utilizza WebStorm , quindi qui è una guida utile per il debug da lì.

Pila Tracce

Per impostazione predefinita, non possiamo tracciare una serie di operazioni in diversi cicli del ciclo di eventi (zecche). Per aggirare il problema di dare un'occhiata a Longjohn (ma non in produzione!).

perdite di memoria

Con Node.js possiamo avere un processo server dovrebbe rimanere per un tempo considerevole. Che cosa fare se si pensa che è scaturita alcune perdite brutte? Utilizzare heapDump e Chrome DevTools per confrontare alcune istantanee e vedere cosa sta cambiando.


Per alcuni articoli utili, controlla

Se avete voglia di guardare un video (s) allora

Qualunque sia il percorso scelto, tanto per essere sicuro di capire come si esegue il debug

 entrare descrizione dell'immagine qui

  

Si tratta di un doloroso cosa
  A guardare la propria difficoltà e sapere
  Che voi stessi e nessun altro ha fatto

     

Sofocle, Ajax

Node.JS Tools per Visual Studio 2012 o 2013 include un debugger. La panoramica qui afferma "Node.JS Tools per Visual Studio include il supporto completo per il debug di applicazioni nodi.". Essendo nuovo a Node.js, ma avendo un background in .NET, ho trovato questo componente aggiuntivo per essere un ottimo modo per eseguire il debug Node.js applicazioni.

Visual Studio Codice è veramente bello Node.js supporto per il debugging. È gratuito, open source e multipiattaforma e gira su Linux, OS X e Windows.

Puoi compiti grugnito e gulp anche , se avete bisogno di ...

ho scritto un approccio diverso per eseguire il debug Node.js codice che è stabile ed è estremamente semplice. È disponibile presso https://github.com/sa/iron-node .

Inserire descrizione dell'immagine qui

Un cross-platform opensource debugger di Visual.

Installazione:

npm install iron-node -g;

Debug:

iron-node yourscript.js;

Se si utilizza il Atom IDE , è possibile installare il pacchetto node-debugger.

Utilizzando Chrome versione 67.0.3396.62 (+)

  1. Esegui nodo app
  

nodo --inspect-BRK = 0.0.0.0: 9229 server.js (nome del file server di js)

  1. Sfogliare la vostra applicazione in cromo per esempio "Localhost: port"
  2. DevTools aperte.
  3. Fare clic sull'icona sul nodo accanto l'icona del dispositivo reattivo.

 entrare descrizione dell'immagine qui

Ci sarà un'altra finestra DevTools che apparirà in modo specifico per il debug nodo app.

 entrare descrizione dell'immagine qui

ho creato un piccolo strumento chiamato pulito pry.js che può aiutarti.

Mettere una semplice dichiarazione da qualche parte nel codice, eseguire lo script normalmente e il nodo si fermerà il thread corrente che vi dà accesso a tutte le variabili e le funzioni. Visualizza / modifica / cancellarli a volontà!

pry = require('pryjs')

class FizzBuzz

  run: ->
    for i in [1..100]
      output = ''
      eval(pry.it) # magic
      output += "Fizz" if i % 3 is 0
      output += "Buzz" if i % 5 is 0
      console.log output || i

  bar: ->
    10

fizz = new FizzBuzz()
fizz.run()

Non è built-in riga di comando debugger cliente all'interno Node.js. Cloud 9 IDE hanno anche abbastanza bello (visivo) debugger .

codice Visual Studio lavorerà per noi in debug.

Ho messo insieme un breve Node.js debug di primer sull'uso del < a href = "https://github.com/node-inspector/node-inspector" rel = "nofollow noreferrer"> nodo-ispettore per coloro che non sono sicuri di dove iniziare.

Utilizzare WebStorm! È perfetto per il debug di applicazioni Node.JS. Ha un debugger incorporato. Controlla la documentazione qui: https: // www .jetbrains.com / help / WebStorm / 2016,1 / corsa-e-debug-node-js.html

Se avete bisogno di una potente libreria di registrazione per Node.js, Tracer https://github.com/baryon/tracer è una scelta migliore.

E 'uscite messaggi di log con un timestamp, il nome del file, nome del metodo, numero di linea, percorso o Stack di chiamate, console di colore supporto e database di supporto, di file, il trasporto flusso facilmente. Io sono l'autore.

Supponendo di avere nodo-ispettore installato sul computer (se non, basta digitare 'NPM installare -g nodo-inspector') è sufficiente eseguire:

node-inspector & node --debug-brk scriptFileName.js

E incollare l'URI dalla riga di comando in un WebKit (Chrome / Safari) browser.

Avviare il processo di nodo con -. Ispezionare bandiera

node --inspect index.js

e quindi aprire chrome://inspect in cromo. Fare clic su "DevTools dedicato Open per il nodo" link o installare questo estensione Chrome per aprire facilmente DevTools cromati.

Per ulteriori informazioni consulta questo link

Ci sono molte possibilità ...

il supporto di debug è spesso implementata utilizzando il v8 Debug protocollo o il più recente < a href = "https://developer.chrome.com/devtools/docs/debugger-protocol" rel = "noreferrer"> Chrome Debug protocollo .

C'è il nuovo open-source Nodeclipse progetto (come plugin di Eclipse o di Enide Studio ):

Nodeclipse diventato # 1 in Eclipse Top 10 nuovi plugin per il 2013 . Esso utilizza una versione modificata V8 debugger (da Google Chrome Developer Tools per Java).

Nodeclipse è un software gratuito open-source rilasciato all'inizio di ogni mese .

IntelliJ funziona meravigliosamente per Node.js.

Inoltre, IntelliJ supporta 'Codice Assistenza' bene.

Il NetBeans IDE ha avuto il supporto Node.js dal la versione 8.1 :

  

<...>

     

Nuove caratteristiche

     

Node.js Application Development

     
      
  • progetto Creazione guidata nuova Node.js
  •   
  • Creazione guidata nuova Node.js espresso
  •   
  • Maggiore JavaScript Editor
  •   
  • Il nuovo supporto per l'esecuzione di applicazioni Node.JS
  •   
  • Il nuovo supporto per il debug di applicazioni Node.JS.
  •   
     

<...>

Ulteriori riferimenti:

  1. NetBeans Wiki / NewAndNoteworthyNB81 .
  2. Node.js espresso App in NetBeans IDE, Geertjan-Oracle .

Con questo comandi

DEBUG_LEVEL=all node file.js
DEBUG=* node file.js
node file.js --inspect

Un modo veloce-and-dirty per eseguire il debug piccoli script Node.JS con il tuo debugger browser preferito sarebbe quella di utilizzare browserify . Si noti che questo approccio non funziona con tutte le applicazioni che richiedono native librerie di I / O, ma è abbastanza buono per la maggior parte piccoli script.

$ npm install -g browserify

Ora spostare tutta la tua var x = requires('x') chiama in un file requires.js ed eseguire:

$ browserify requires.js -s window -o bundle.js

(Il rovescio della medaglia è che si sia necessario spostare o commentare il requires in tutti i vostri file.)

Includere la bundle.js in un file HTML in questo modo:

<script type="text/javascript" src="bundle.js"></script>

Ora caricare il file nel browser e premere F12 e viola:. Debug nel browser

ndb è una migliore esperienza di debug per Node.js, abilitato da Chrome DevTools

https://github.com/GoogleChromeLabs/ndb

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top