Node.js postmortem debugging for Linux

You can now debug your Linux-based Node.js application on SmartOS using a core dump.

TJ Fontaine:

Max Bruning and I decided we wanted to be able to load a core file from a Node.js Linux process and be able to run ::findjsobjects on it in mdb.

If you run Node on Linux with --abort-on-uncaught-exception, you can inspect the state of JavaScript objects using the core dump created when your process crashes.

This gives you a fighting chance at tracking down the unique kinds of errors that occur most frequently in production. If you’ve ever ran non-trivial Node programs in production, you’ll understand that this is a huge accomplishment.

Update: If you’re new to debugging Node on SmartOS, check out the latest MDB and Node.js article by David Pacheco.