Utilizzando ispettore nodo, non riesco a impostare il punto di interruzione nel seguente codice node.js. (Contenuto di main.js
)Impossibile impostare il punto di interruzione all'interno della funzione quando si richiede la chiusura interna
(function() {
require('underscore');
var doSomething = function(callback) {
callback('doSomething Finished');
}
doSomething(function(x) {
console.log(x);
});
}).call(this);
posso facilmente impostare un punto di interruzione sulla linea 2, linea 4 o linea 8, ma non importa quanto sia difficile provare il debugger non mi permette di impostare un punto di interruzione sulla linea 5 o linea 9. per essere chiari, sto usando i seguenti comandi per eseguire nodo ispettore
node --debug-brk main.js
node-inspector
ho anche cercato di debug nel web tempesta, tuttavia il problema persiste. Se rimuovo la riga require('underscore');
, il problema scompare immediatamente e sono in grado di impostare nuovamente il punto di interruzione all'interno del corpo della funzione. Il problema scompare anche se rimuovo la funzione di chiusura più esterna. Sembra che l'interazione tra require
e la chiusura a livello di file stia rovinando la funzionalità di debug dei nodi. Qualcuno ha avuto questo problema da solo e/o conosce qualche soluzione alternativa per essere in grado di rompere all'interno del corpo della funzione?
EDIT: versione mio nodo js
Tony:~ $ node --version
v0.10.12
Tony:~ $
Hai il tag requirejs qui. Stai davvero usando requierjs nel nodo? Probabilmente no. –
Ho pensato che requirejs fornisce la chiamata 'require', non è così? – Tony
No, require viene fornito dal runtime nodejs. Fa parte delle specifiche del modulo CommonJS. –