NodeJS – a step-by-step debugger for NodeJS

I’m looking for effective way for step-by-step debugging NodeJS server code. At this moment I use dozens of console.log()’s and it’s extremely hard. The perfect tool is one that would allow me to check the values of every variable in stack and trace my program line by line. Prefered OS = MacOS/Linux. Is it possible?


Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

Basically, Node.js is built on top of V8, so its debugging capabilities are also built on top of V8’s debugging capabilities.

V8 has an included debugger which can be accessed via TCP on port 5858.

So basically all you need is a frontend which is able to connect to port 5858 and talk V8’s debugging protocol.

One option is to use node-inspector which basically provides a debugging UI in your browser. Unfortunately, it does only work with Google Chrome and Apple Safari (which for me is no problem, but there may be others ;-)).

Another option is to use a plugin for Eclipse.

And, last but not least, the built-in debugger of Node.js (which always reminds me of MS-DOS’s edlin) is also just a front-end for this TCP debugger, just a built-in one.

And of course, there are much more options … these three were just the first three ones that came to my mind 😉

Method 2

How about this?

You can try to test for Nodeclipse version 0.2.0 beta.

It will help you to debug node apps easily.


Select the [File]-[New]-[Project] menu.
Select [Node]-[Express Project], and push [Next] button.
Enter [Project name], and push [Finish] button.


Open the JavaScript source files that you want to set breakpoints.
Double-click on the ruler at the left end of the line you want to set a breakpoint.
If you want to remove a breakpoint, double-click on the ruler again.
Select the main source file of Node Application on the Project Explorer, 
open the context menu by right-clicking, 
select the [Debug As]-[Node Application] menu.

Method 3

Use node-inspector to provide the node debugging environment you’re looking for. It’s fantastic.

Method 4

Check WebStorm. It is a great IDE, and also you can directly run your nodejs code, or connect to a debugging-enabled node process already running. In both cases, WebStorm provides what you are looking for: trace program execution line by line and on every line check the state of every variable.

Method 5

Try nodeunit npm module for testing nodejs server side codes.

Method 6

Even though question is very old, there is a awesome IDE from Microsoft “Visual Studio Code” which is developed in intention with Javascript (Typescript) which is capable of debugging Node JS projects

Checkout this link

Method 7

node inspect built-in CLI step debugging

It took a while, but at some point Node finally added built-in debugging:

node inspect main.js

and this leaves you at the first line of the program.

Navigate with:

  • n step to next line
  • s step into function
  • c continue
  • o step out
  • h get help

In order to view variables or inject code, you need to first enter REPL mode with:


and then you can run commands as in a node interactive session, e.g. to see the value of a variable just write the variable name:


It is awkward to have to type those four characters repl all the time, but I don’t know any alternative.

You can also add a debugger statement to where you want to break in the program after a c:

const i = 1;
i = 2;

Related question: How do I debug Node.js applications?

Tested in Node.js v10.15.1, Ubuntu 19.10.

All methods was sourced from or, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Notify of

Inline Feedbacks
View all comments
Would love your thoughts, please comment.x