2011-06-24 17 views

Respuesta

9

Esta solución funcionará para * nix:

Ir a /usr/local/bin o cualquier otro directorio en su $ PATH

$ cd /usr/local/bin 

Crear un script ejecutable (por ejemplo, nodo-depuración) con el siguiente contenido

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

para hacerlo ejecutable:

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

Ahora se puede ejecutar supervisor de la siguiente manera:

$ supervisor -x node-debug script.js 

P. S.: Para redondear hacia arriba:

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

De esta manera obtengo' Debugger escuchando en el puerto 5858 Error al abrir el socket en el puerto 5858, esperando 1000 ms antes de reintentar' mientras el nodo 'manual --debug' funciona bien. – Redsandro

0

Utilice la bandera -x tal como se documenta en la node-supervisor github page

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

pero eso no va a funcionar con CoffeeScript lo que tiene que utilizar

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

+3

intenté eso pero entra en un ciclo infinito con DEBUG: Iniciando el proceso secundario con 'coffee --debug app.coffee' DEPURACIÓN: execvp(): Ningún archivo o directorio –

+0

@JamesHollingworth Creo que era demasiado esperar que 'coffee --debug' simplemente funcionara: P – Raynos

3

node-dev

node-dev on Github

"Todos los argumentos se pasan al proceso hijo. nodo-dev --debug server.js va a depurar la aplicación, no el propio supervisor."

crear un "Test.js" Node.JS guión en $ HOME/NodeTest

primer terminal (pista nodo en modo de depuración, depuración va a escuchar en el puerto 5858, nodo-dev volverá a cargar los archivos modificados):

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

segundo terminal (empezar inspector web para un navegador basado en WebKit, el inspector se conecta al puerto 5858 del depurador y escucha en el puerto 8080):

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

Abrir URL en un navegador basado en WebKit (Chrome, Safari, etc.):

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

Haga clic en "Scripts" y establecer puntos de interrupción en el código.

24

Esto también funciona (y que no es necesario un script bash separada):

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

esta debería ser la respuesta aceptada. Gracias por compartir. –

+0

Sí, esto funciona de manera sencilla, y también con el inspector "avanzado" también, p. para ejecutar Express: 'DEBUG = myapp: * supervisor - --inspect bin/www'. Obtuve errores de eventos intentando usar el parámetro -x, pero este formato de parámetro alternativo funciona. – scipilot

3

Desde el CoffeeScript site:

--nodejs El el ejecutable del nodo tiene algunas opciones útiles que puede establecer, como --debug, --debug-brk y --max-stack-size. Use esta bandera para reenviar las opciones directamente a Node.js.

yo probamos este y funcionó:

el supervisor - --nodejs --debug app.coffee

Se pueden añadir otros argumentos como esto:

supervisor de -w. -n error --nodejs --debug app.coffee

Cuestiones relacionadas