Faster node debugging

Use this debugging tip to quickly inspect any node process, including FastBoot.

Summary

When developing and testing FastBoot Ember apps, our normal debugging workflow doesn't work. That's because if our Ember app throws an error, that error and stack trace will show up in a node process, rather than the browser.

But there's a trick we can use to quickly get our familiar Devtools hooked up to our node process.

If we send a USR1 signal to the ember process, we can put it into a special debugging mode. First, find the PID of your running Ember process by using Activity Monitor, or running

ps -A | grep ember

Once you have the PID, run kill -USR1 <ember-pid>. For example,

kill -USR1 1280

Now in our Browser's devtools we see a green Node button to open the devtools. Once we do, we have an inspector instance pointing to our node process, and we can use the console to see a proper stack trace for our error.

Since we can now interact with the exception and insert our own breakpoints, fixing this failing test is just a matter of following the stack trace.

👋 Hey there, Ember dev!

We hope you enjoyed this free video 🙂

If you like it and want to keep learning with us, we've written a free 6-lesson email course about the fundamental patterns of modern component design in Ember.

To get the first lesson now, enter your best email address below:

You can also check out more details about the course by clicking here.

Questions?

Send us a tweet:

Or ask us in Inside EmberMap, our private Slack workspace for subscribers.