How do I debug Node.js applications?
How do I debug a Node.js server application?
Right now I’m mostly using alert debugging with print statements like this:
There must be a better way to debug. I know that Google Chrome has a command-line debugger. Is this debugger available for Node.js as well?
Install it with:
npm install -g node-inspector
node --prof ./app.js
node --prof-process ./the-generated-log-file
- jam3/devtool then Chrome Developer Tools Flame Charts
- Dtrace and StackVis — Only supported on SmartOS
Libraries that output debugging information
Libraries that enhance stack trace information
These use to work but are no longer maintained or no longer applicable to modern node versions.
Node has its own built in GUI debugger as of version 6.3 (using Chrome’s DevTools)
Simply pass the inspector flag and you’ll be provided with a URL to the inspector:
node --inspect server.js
You can also break on the first line by passing
To open a Chrome window automatically, use the inspect-process module.
# install inspect-process globally npm install -g inspect-process # start the debugger with inspect inspect script.js
Node.js version 0.3.4+ has built-in debugging support.
node debug script.js
Visual Studio Code will be my choice for debugging. No overhead of installing any tools or
npm install stuff.
Just set the starting point of your app in package.json and VSCode will automatically create a configuration file inside your solution. It’s build on Electron, on which editors like Atom are built.
VS Code gives similar debugging experience as you might have
had in other IDEs like VS, Eclipse, etc.