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.