Yup, I forgot to mention that but the debugger stinks and the stack traces provided out of the box are completely worthless. You have to add some exception handling in your app delegate to get even a remotely decent stack trace, and it's still not that great.
In the breakpoints section in the left sidebar click the little plus button at the bottom then place a breakpoint on all exceptions. Works for me every time but ymmv.
XCode is awful. XCode 3 rarely crashed on me, but the latest version crash a few times an hour on me.
Of course, all of my experiences with Apple software leave me unimpressed anyway.