Am I missing something?
Now, leaving aside the fact that Xcode's UI and workflow appears to have been written by a monkey on acid, it does appear to work fine, with one exception.
Now, gdb is a fine debugger, but it is basically a console based debugger and works fine when used in the environment for which it was designed. I cut my debugging teeth using gdb back in the '80s. In fact, I had to build the remote end of gdb for the Amiga so that I could do some cross-complilation game development.
But that's another story.
Xcode uses gdb as it's debugger, thinly veiling it with some shoddy UI that is constantly getting itself out of sync and generally not working well. Especially when you're working on multi-threaded code.
Now, I'm also a big user of cdb/ntsd on Windows - again, console debuggers. But their usage has a time and a place. Productivity is vastly increased by great visual debugging tools.
This is where Microsoft completely shines. Visual Studio is a great debugger - say what you will about the build tools, language support, etc… but VC is a great debugger for user-mode applications.
This is why Windows is the platform that it is. Microsoft gets it. To get massive developer support, you need great developer tools1. If Apple wants massive platform support from the developers, they've got to improve the Xcode debugger. Like, actually provide one.
As a developer, I don't want to be beating my head up against the wall because of the tools, and unfortunately Xcode is giving me a nice, shiny, bruise on my forehead.
And don't get me started on the Carbon SDK, but I think that's a post for another time…
1 Coincidentally, this is why the Xbox 360 is a far easier platform to develop for than the PS3. ↩