2011-06-24 3 views

Répondre

9

Cette solution fonctionnera pour * nix:

Aller à /usr/local/bin ou tout autre répertoire dans votre PATH $

$ cd /usr/local/bin 

Créer un script exécutable (par exemple, noeud-debug) avec le contenu suivant

#!/bin/bash 
node --debug [email protected] 

Pour le rendre exécutable:

$ sudo chmod 777 /usr/local/bin/node-debug 

Maintenant vous pouvez lancer superviseur comme ceci:

$ supervisor -x node-debug script.js 

post-scriptum: Pour arrondir:

su 
echo '#!/bin/bash 
node --debug [email protected]' > /usr/local/bin/node-debug 
chmod 777 /usr/local/bin/node-debug 
+0

De cette façon, j'obtiens debugger écoute sur le port 5858 Échec de l'ouverture socket sur le port 5858, en attente de 1000 ms avant de réessayer' tout manuel 'noeud --debug' fonctionne bien. – Redsandro

0

Utilisez le drapeau -x comme indiqué sur la node-supervisor github page

supervisor -w . -x 'node --debug' app.js

mais cela ne fonctionnera pas avec coffeescript donc vous devez utiliser

supervisor -w . -x 'coffee --debug' app.js

+3

essayé mais il entre dans une boucle infinie avec DEBUG: Démarrage du processus enfant avec 'coffee --debug app.coffee' DEBUG: execvp(): Aucun fichier ou répertoire –

+0

@JamesHollingworth Je pense que c'était trop attendre de 'coffee --debug' pour fonctionner: P – Raynos

3

node-dev

node-dev on Github

Tous les arguments sont transmis au processus fils. node-dev --debug server.js va déboguer votre application, et non le superviseur lui-même. »

Créer un "test.js" Node.js script dans $ HOME/NodeTest

premier terminal (run noeud en mode débogage, le débogage écoutera sur le port 5858, nœud-dev rechargera les fichiers modifiés):

cd $HOME/nodetest 
    npm install node-dev 
    node_modules/.bin/node-dev --debug test.js 

Deuxième terminal (début inspecteur web pour un navigateur basé sur WebKit, l'inspecteur se connecte au port 5858 du débogueur et écoute sur le port 8080):

cd $HOME/nodetest 
    npm install node-inspector 
    node_modules/.bin/node-inspector 

Ouvrir cette URL dans un navigateur basé sur WebKit (Chrome, Safari, etc.):

http://0.0.0.0:8080/debug?port=5858 

Cliquez sur "Scripts" et points d'arrêt dans votre code.

24

Cela fonctionne aussi (et vous n'avez pas besoin d'un script bash séparé):

supervisor -- --debug app.js 
supervisor -- --debug=7070 app.js 
+1

celui-ci devrait être la réponse acceptée. Merci pour le partage. –

+0

Oui, cela fonctionne si simplement, et aussi avec l'inspecteur "avancé", par exemple. pour exécuter Express: 'DEBUG = myapp: * superviseur - --inspect bin/www'. J'ai eu des erreurs d'événement essayant d'utiliser le paramètre -x, mais ce format de paramètre alternatif fonctionne. – scipilot

3

De l'CoffeeScript site:

--nodejs Le nœud exécutable a quelques options utiles que vous pouvez définir, telles que --debug, --debug-brk et --max-stack-size. Utilisez cet indicateur pour transférer les options directement vers Node.js.

J'ai essayé et cela a fonctionné:

superviseur

- --nodejs --debug app.coffee

Vous pouvez ajouter d'autres arguments comme ceci:

superviseur -w. -n erreur - --nodejs --debug app.coffee

Questions connexes