The Debugger is useless.

Cyrus says he doesn't need a debugger when developing managed code.  He is not advocating using printf here.  He is claiming that with TDD (Test Driven Development) most of his bugs can be resolved by "sitting and mulling on it" and having a "gestalt flash".

I half believe this. I expect that using TDD you should be able to get the code you are writing to do what you want by 'gestalting' rather than using a debugger.  I am more skeptical that the bugs found by a QA department will be as simple to diagnose via 'gestalt flash'. Am I being overly skeptical here?  Are there people out there with large scale TDD experience that can back up Cyrus?  I don't believe anyone has said unit testing removes all bugs or obviates the need for QA, so you will get bugs. Unless you actually prove the correctness of your code it does have bugs.

I think that TDD helps provide a mental model as you code first the test, then the implementation. That stronger mental model creates a perception that stepping through newly written code with a debugger won't provide any new or useful infomation.   However, when diagnosing a problem in foreign code do TDD developers go to the unit tests first?  Does a large, unfamilar, set of correctly running tests provide useful insight about what's wrong?