How to Use Node.js Debugger

Node.js did come with a built-in debugger.

How to use

1. Add breakpoint into code

To add a breakpoint, add this line of code:


Yup, just 1 word to break there.

2. Run in debug mode

Say the script you run is app.js, you will run node with a debug.

node debug app.js

Your script will run and break on the line as specified.

For example:

break in /some/path/app.js:1
  1 x = 5;
  2 setTimeout(function () {
  3   debugger;

3. The commands to stepping around

At this point of time, you can issue the following commands to step around the code:

  • c – Continue execution
  • n – Step next
  • s – Step in
  • o – Step out
  • pause – Pause running code

Or these commands for breakpoints:

  • sb() – Set breakpoint on current line
  • sb(line) – Set breakpoint on specific line
  • sb('fn()') – Set breakpoint on a first statement in functions body
  • sb('script.js', 1) – Set breakpoint on first line of script.js
  • cb – Clear breakpoint

Or more info:

  • bt – Print backtrace of current execution frame
  • list(5) – List scripts source code with 5 line context (5 lines before and after)
  • watch(expr) – Add expression to watch list
  • unwatch(expr) – Remove expression from watch list
  • watchers – List all watchers and their values (automatically listed on each breakpoint)

Bonus: REPL

This is one of the best feature. It kinds of like code inspection in interative mode.

  • repl – Open debugger’s repl for evaluation in debugging script’s context

Nice tool from node (even better than Python)!