Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Node.js debugging

Pittsburgh Node.js presentation explaining the different options available for Node.js across IDEs, command line, and node modules.

  • Login to see the comments

Node.js debugging

  1. 1. Pittsburgh Wednesday of every month 7-9pm Right here at LeBrew House!
  2. 2. Nicholas McClayDesigner and Developer @nickmcclay
  3. 3. Debugginggoodbye console.log()
  4. 4. In the beginning there was ‘debugger’ 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.
  5. 5. 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)
  6. 6. 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
  7. 7. Can’t we use something a little less… Arcane? Unusual? Ugly? 1990?
  8. 8. Eclipse IDEEclipse Node Debugger Walk Through: Dev Tools + V8 Debugger:, plug-in compatibility can be anightmare! Aptana or other highly customizedEclipse based IDEs may not work.
  9. 9. Eclipse advanced debuggingTo debug with real source instead ofVirtualProject files capture of setup
  10. 10. Webstorm IDEHappy Node.jsdebugging right outof the box!Coffeescriptdebugging coming inversion 4.0!
  11. 11. Other IDEsKomodo IDE
  12. 12. node-inspector Webkit Inspector debugging front-end JavaScript debugger reused for back-end JavaScript, what a great idea!1.) npm install –g node-inspector2.) node --debug-brk test.js3.) node-inspector4.) Open browser to http://localhost:8080/debug?port=5858
  13. 13. Final Thoughts• --debug vs --debug-brk• Remote Debugging• Long stack traces
  14. 14. Thanks!Questions?