The other day I wrote about using the SIGUSR2 signal to quit Emacs. It’s usually enough to unjam Emacs and get you into a state where you can at least save your work and restart Emacs.
Marcin Borkowski (mbork) has a very nice post that explores the use of SIGUSR2 and how it interacts with the debugger. If you’re developing in Elisp and often find yourself hung, some of mbork’s techniques may help you figure things out. It’s an informative post and well worth taking a look at.