this TheServerSide thread
, Amin Mansuri has this to say about debuggers:

I dunno.. maybe I’m a bit old school, but I’m influenced by Steve McConnell
author of Writing Solid Code and Debugging the Software Development process who
suggests that you should step through all your code in the debugger before
checking it in.


I actually got this habit from reading "Writing Solid Code" myself. 
Single-stepping through all your new code might be a bit
overkill, though, but I am a firm believer in the idea that debuggers should be
used on new code, and I find myself doing that very often as the result of
reading this book more than ten years ago.

Frankly, I don’t understand the argument "unit tests are good enough, I
don’t need a debugger" put forth by so many anti-debugger people.

First of all, even unit tests break and have bugs, so you have to debug at
some point.

But more importantly, unit tests only give you a superficial view of the
quality of your code.  Okay, the bar is green, but are you really sure your
code is behaving the way you designed it, and not by accident?  Or that two
bugs are not canceling each other out, yielding a good result by accident?

What better way is there to really make sure of this than by putting a breakpoint in
your fresh new code, single-stepping through it and verifying that all the
variables are what you expect?