L'arrivo di
node.js ha reso molto appetibile la creazione di applicazioni server, grazie alla sua affidabilità e alla fine delle preoccupazioni per il
deadlock dei processi. Sono infatti sempre
più numerosi i
professionisti che
hanno deciso di includerlo tra i tool di lavoro preferiti, mettendo così ulteriormente a frutto la loro esperienza JavaScript. Gestire con profitto la velocità di esecuzione e la grande quantità di richieste concorrenti di cui è capace
node.js non può naturalmente prescindere da un
buon lavoro di debugging.
In un suo post su
CodeBetter.Com, il Program Manager Microsoft
Glenn Block propone
una soluzione mirata al debug, che fa uso di
node-inspector. Questo apprezzabile strumento creato da
Danny Coates si presenta come un
modulo node in grado di generare un
visual debugger. Utilizzandolo, si è in grado di eseguire un'applicazione
node.js applicando breakpoint, esecuzione passo-passo per istruzione, valutazione delle variabili (anche quelle
server-side), modifica del codice durante l'esecuzione.
Per installare
node-inspector è necessario utilizzare
node.js 0.3.0 o successivo, un
browser basato su WebKit (Chrome o Safari vanno bene),
npm (Node Package Manager) per la procedura di installazione. Alla prova dei fatti, l'installazione va
liscia e tranquilla su
sistemi *nix e Mac, tramite l'istruzione a linea di comando:
$ npm install -g node-inspector
e successiva attivazione della modalità di debug; l'opzione
--debug--brk mette in pausa l'esecuzione sulla prima istruzione:
$ node --debug-brk mioscript.js
$ node-inspector &
Questi comandi rendono l'interfaccia di debug visibile sul browser, all'indirizzo
http://127.0.0.1:8080/debug?port=5858. Per ora, l'operazione non è altrettanto semplice su
sistemi Windows: gli ostacoli da affrontare per far funzionare
node-inspector in questi casi sono molti e complicano notevolmente la procedura di set-up.
Tanto per dirne una, non è
ancora pronto il gestore pacchetti di
node.js per Windows: si può procedere con la copiatura manuale, o seguire il consiglio di
Block e utilizzare la
versione Python, chiamata
iyppi. Esistono inoltre
dei problemi nel
modulo paperboy.