In the beginning there was ‘debugger’ http://nodejs.org/api/debugger.html To debug in console: node debug test.js note: debug not --debug, this is a different command well see later This hook to V8s debugger is what all Node debug tools bind to.
Debug command highlights• Stepping – cont, next, step, out - What you think they do• Breakpoints – setBreakpoint()/sb() - Set breakpoint on current line or at statement – clearBreakpoint/clearBreakpoint()/cb(...) - clear breakpoint (duh)
Debug command highlights• Info – backtrace/bt - Print backtrace of current execution frame – watch(expr) - Add expression to watch list – unwatch(expr) - Remove expression from watch list – watchers - List all watchers and their values – repl - Open debuggers repl for evaluation in debugging scripts context• Execution control – run - Run script (automatically runs on debuggers start) – restart - Restart script – kill - Kill script
Can’t we use something a little less… Arcane? Unusual? Ugly? 1990?
Eclipse IDEEclipse Node Debugger Walk Through:https://github.com/joyent/node/wiki/Using-Eclipse-as-Node-Applications-DebuggerChrome Dev Tools + V8 Debugger:http://code.google.com/p/chromedevtools/Warning, plug-in compatibility can be anightmare! Aptana or other highly customizedEclipse based IDEs may not work.
Eclipse advanced debuggingTo debug with real source instead ofVirtualProject fileshttp://code.google.com/p/chromedevtools/wiki/FeatureDebugOnRealFilesScreen capture of setuphttp://www.youtube.com/watch?v=GVxFFw7lkYg
Webstorm IDEHappy Node.jsdebugging right outof the box!Coffeescriptdebugging coming inversion 4.0!
Final Thoughts• --debug vs --debug-brk• Remote Debugging• Long stack traceshttp://stackoverflow.com/questions/7697038/more-than-10-lines-in-a-node-js-stack-error