Keith Ray writes about the costs of debugging:
From Christian Sepulveda - I was working with a team that had been gradually adopting agile practices, but the developers were resistant to practicing Test Driven Development. At one point, I decided to start tracking how much time was spent compiling code, running the application/debugger, re-establishing the context in the application, observing a result and then closing the application. The developer would think about what he observed, make code edits, start the debugger and repeat the cycle. I observed that it took four minutes on average to run the cycle of compile, launch debugger, find context, etc. This would be done an average of eight times per hour; the remaining hour was spent thinking and making edits
4 minutes compiling and debugging * 8 times/hour = 32 minutes/hour. Imaging how much worse this is in C/C environments where just compiling and linking costs 5 minutes or more before getting into the debugger.
That's one way to look at the cost. Absolutely crappy tools that don't support decent development processes is another. Sure, you should write the tests first, and you'll be more productive doing that regardless of language/tools. But - in a decent environment - Smalltalk or Lisp - the debugger is just a browser that steps through the code, not a standalone, time wasting tool. So yeah, if you use second rate tools, the debugger is a time sink. Find better tools, and it isn't. Imagine how much more productive developers would be...