Node.js
Debugging Node.js-applikation
Sök…
Core node.js-felsökare och nodinspektör
Med hjälp av core debugger
Node.js ger en inbyggd icke-grafisk felsökningsverktyg. Starta applikationen med det här kommandot för att starta inbyggnaden i felsökaren:
node debug filename.js
Tänk på följande enkla Node.js-applikation som finns i debugDemo.js
'use strict';
function addTwoNumber(a, b){
// function returns the sum of the two numbers
debugger
return a + b;
}
var result = addTwoNumber(5, 9);
console.log(result);
Nyckelordets debugger
stoppar felsökaren vid den punkten i koden.
Kommandoreferens
- stepping
cont, c - Continue execution
next, n - Step next
step, s - Step in
out, o - Step out
- brytpunkter
setBreakpoint(), sb() - Set breakpoint on current line
setBreakpoint(line), sb(line) - Set breakpoint on specific line
För att felsöka koden ovan kör följande kommando
node debug debugDemo.js
När kommandona ovan har körts ser du följande utgång. Om du process.exit()
avsluta från process.exit()
skriver du process.exit()
Använd watch(expression)
att lägga till variabeln eller uttrycket vars värde du vill titta på och restart
att starta om appen och felsöka.
Använd repl
att ange kod interaktivt. Rep-läget har samma sammanhang som raden du felsöker. Detta gör att du kan undersöka innehållet i variabler och testa kodrader. Tryck på Ctrl+C
att lämna felsökningen.
Använda inbyggd nodinspektör
Du kan köra nodens inbyggda v8-inspektör! Nodinspektörens plug-in behövs inte längre.
Passera helt enkelt inspektörens flagga så får du en URL till inspektören
node --inspect server.js
Med hjälp av nodinspektör
Installera nodinspektören:
npm install -g node-inspector
Kör din app med node-debug-kommandot:
node-debug filename.js
Efter det, hit i Chrome:
http://localhost:8080/debug?port=5858
Ibland kanske inte port 8080 är tillgänglig på din dator. Du kan få följande fel:
Det går inte att starta servern vid 0.0.0.0:8080. Fel: lyssna EACCES.
I det här fallet, starta nodinspektören i en annan port med följande kommando.
$node-inspector --web-port=6500
Du kommer att se något liknande: