I use them, I have no stock in the company. Using the debugger to walk through your code on the embedded system is the very best thing you can do. A couple of days ago I found that our sophisticated disable interrupt routine left our system in a state where interrupts were never disabled. We may never have found it before our customers found it, if I didn't watch every line of code execute. The people I work with think I am nuts, walking through all the code, but my code is almost bug free.
Terry is also right about building the testing into the product.
I am madly putting analysis code into the product. I should be able to test our entire library automatically in a week or so, including operating system calls and interrupt handling. We run pSOS which is quite small so the task isn't quite as daunting as some of you might imagine. Finally be sure the hardware is designed to facilitate output of the analysis information. An rs232 serial port to hook up to a PC is a necessity.